當前位置:首頁 » 編程語言 » sql關聯表update

sql關聯表update

發布時間: 2023-02-17 19:31:35

⑴ update sql 兩個關聯的表

一、當用一個表中的數據來更新另一個表中的數據,T-SQL提供多種寫法(下面列出了二種),但建議用第一種寫法,雖然傳統,但結構清晰。
並且要注意,當用一個表中的數據來更新另一個表中的數據時,二個表一定要有關聯!
1.
update t1
set t1.c2 = t2.c2
fro m t2
where t1.c1 = t2.c1
2.
Update t1
set t1.c2 = t2.c2
fro m t1 inner join t2
on t1.c1 = t2.c1
二、FROM 子句中指定的表的別名不能作為 SET column_name 子句中被修改欄位的限定符使用。
例如,下面的內容無效:
UPDATE titles
SET t.ytd_sales = t.ytd_sales + s.qty
FROM titles t, sales s
WHERE t.title_id = s.title_id
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
若要使上例合法,請從列名中刪除別名 t 或使用本身的表名。
1.
UPDATE titles
SET ytd_sales = t.ytd_sales + s.qty
FROM titles t, sales s
WHERE t.title_id = s.title_id
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)
2.
UPDATE titles
SET titles.ytd_sales = t.ytd_sales + s.qty
FROM titles t, sales s
WHERE t.title_id = s.title_id
AND s.ord_date = (SELECT MAX(sales.ord_date) FROM sales)

⑵ 請教sql語句 如何實現關聯表欄位更新

UPDATE多表更新(轉)(2008-05-12 15:29:04)
轉載標簽:update多表更新sql 分類:php網路編程
在開發中,資料庫來回換,而有些關鍵性的語法又各不相同,這是一件讓開發人員很頭痛的事情.本文總結了Update語句更新多表時在SQL Server,Oracle,MySQL三種資料庫中的用法.我也試了SQLite資料庫,都沒成功,不知是不支持多表更新還是咋的.

在本例中: 我們要用表gdqlpj中的gqdltks,bztks欄位數據去更新landleveldata中的同欄位名的數據,條件是當 landleveldata 中的GEO_Code欄位值與gdqlpj中的lxqdm欄位值相等時進行更新.

SQL Server語法:UPDATE { table_name WITH ( < table_hint_limited > [ ...n ] ) | view_name | rowset_function_limited } SET { column_name = { expression | DEFAULT | NULL } | @variable = expression | @variable = column = expression } [ ,...n ] { { [ FROM { < table_source > } [ ,...n ] ] [ WHERE < search_condition > ] } | [ WHERE CURRENT OF { { [ GLOBAL ] cursor_name } | cursor_variable_name } ] } [ OPTION ( < query_hint > [ ,...n ] ) ]

SQL Server示例: update a set a.gqdltks=b.gqdltks,a.bztks=b.bztks from landleveldata a,gdqlpj b where a.GEO_Code=b.lxqdm

Oracle語法: UPDATE updatedtable SET (col_name1[,col_name2...])= (SELECT col_name1,[,col_name2...] FROM srctable [WHERE where_definition])

Oracel 示例: update landleveldata a set (a.gqdltks, a.bztks)= (select b.gqdltks, b.bztks from gdqlpj b where a.GEO_Code=b.lxqdm)

MySQL語法: UPDATE table_references SET col_name1=expr1 [, col_name2=expr2 ...] [WHERE where_definition]

MySQL 示例: update landleveldata a, gdqlpj b set a.gqdltks= b.gqdltks, a.bztks= b.bztks where a.GEO_Code=b.lxqdm

⑶ SQL update 的更新值來源於另外一個表,如何實現

1、創建兩個測試表,

createtabletest_up_a(idnumber,valuevarchar2(100));

createtabletest_up_b(idnumber,valuevarchar2(100));

2、分別往兩個表中插入數據;

insertintotest_up_avalues(1,'A1');

insertintotest_up_avalues(2,'A2');

insertintotest_up_avalues(3,'A3');

insertintotest_up_avalues(4,'A4');

insertintotest_up_avalues(5,'A5');

insertintotest_up_avalues(6,'A6');

insertintotest_up_bvalues(1,'BBBB1');

insertintotest_up_bvalues(2,'BBBB2');

insertintotest_up_bvalues(5,'BBBB5');

commit;

3、分別查看兩個表中數據;

select'TBL_A',t.*fromTEST_UP_At

unionall

select'TBL_B',t.*fromTEST_UP_Bt


4、執行更新腳本,可以發現TEST_UP_A.VALUE值已變化;

updateTEST_UP_At

sett.value=

(selectb.value

fromTEST_UP_Bb

wheret.id=b.id

andrownum=1)


⑷ SQL兩個關聯表update select查詢結果

updatepriceimacsetpriceimac.數量=t.totalCuntfrom(selecta.imac項目,a.累計+b.數量astotalCuntfrompriceimaca,(selectIMAC,sum(convert(int,數量))數量fromtemp1whereusername='aaa'groupbyimac)bwherea.imac項目=b.imac)ast

⑸ SQL 中UPDATE用法

Update是一個資料庫SQL語法用語,用途是更新表中原有數據,單獨使用時使用where匹配欄位。

語法為:UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

例如:Update table_name Set column_name = new_value Where column_name = some_value

(5)sql關聯表update擴展閱讀

update使用注意事項:

1、sp_updatestats可以更新統計信息到最新。

2、低內存會導致未被客戶端連接的查詢計劃被清除。

3、修改表結構,修改索引後,查詢計劃會被清除,可以再修改後運行幾遍查詢。

4、使用update時候,order by 會影響查詢速度,where中使用函數則會調用篩選器進行掃描,掃描表要盡量避免。

參考資料來源:網路—update

⑹ 多表關聯UPDATE語句怎麼寫呀

update A,B set A.sj1=B.sj2
where
a.hm1=b.hm1
新手,不知道這樣寫對不對。

⑺ 資料庫:更新表需關聯到其它表的update語句怎麼寫

update 用戶余額表 a,銀行貨幣表 b,銀行表 c
set a.余額=0
where a.b_id=b.id and b.銀行id=a.銀行id and a.銀行名='a';

⑻ SQL語句UPDATE 多表關聯的

語句沒有語法錯誤,你用的什麼資料庫?
有些很早期的資料庫,或者是很簡單的資料庫是不支持多表查詢的,比如access97等
你這個在執行的時候有報錯嗎,你能把執行後的日誌打出來嗎?

熱點內容
倍數函數編程 發布:2024-11-08 12:11:30 瀏覽:610
已上傳附件 發布:2024-11-08 11:47:53 瀏覽:634
電腦配置都有哪些問題 發布:2024-11-08 11:15:29 瀏覽:728
新浪微博敏感詞資料庫 發布:2024-11-08 11:03:22 瀏覽:473
linux的終端軟體 發布:2024-11-08 11:01:46 瀏覽:205
主機如何把密碼關掉 發布:2024-11-08 10:36:25 瀏覽:720
安卓軟體如何鎖定 發布:2024-11-08 10:30:27 瀏覽:709
sql定時執行語句 發布:2024-11-08 10:29:36 瀏覽:673
邁銳寶xl值得入手哪個配置 發布:2024-11-08 10:14:13 瀏覽:634
尋歡加密 發布:2024-11-08 10:02:57 瀏覽:353