sql 多表更新查詢
sql 多表更新查詢
語句:
update OneReport
set OneReport.oneration=a.a2
from
(
select pb.productid a1, o.oneration a2 from productbaseinf pb
inner join Oneration o
on pb.productno = o.productno
) a
where OneReport.productid=a.a1
因為表productbaseinf和表Oneration的關聯字段沒看到,所以假設是productno
sql update語句 如何從表2更新表1
如果是sqlserver:
UPDATE drivestorage
SET drivestorage.設備名稱=facilityNum.設備名稱
FROM facilityNum
WHERE drivestorage.設備號=facilityNum.設備號
sql 一個多表連接的更新語句
update A
set ls = xx.ls
from (select B.bmid,C.ls from B inner join C on B.dj = C.dj) xx
where xx.bmid = A.bmid
用一條SQL語句同時更新一個表中的兩個字段
update 表名 set 字段1=-5 ,字段2=100 where 字段3='0101'
前麵的and 換成逗號,最後那個0101要用單引號引起來(前麵幾位都沒有發現啊)。
Oracle 關聯兩表寫update語句
兩種方法:
--?方法1.
UPDATE??表2
SET
表2.C??=??(SELECT??B??FROM??表1??WHERE???表1.A?=?表2.A)
WHERE
EXISTS?(?SELECT?1?FROM???表1??WHERE???表1.A?=?表2.A)
--?方法2
MERGE?INTO?表2
USING?表1
ON?(?表2.A?=?表1.A?)????--?條件是?A?相同
WHEN?MATCHED?THEN?UPDATE?SET?表2.C?=?表1.B???--?匹配的時候,更新
SQL語句UPDATE 多表關聯的
語句沒有語法錯誤,你用的什麼數據庫?
有些很早期的數據庫,或者是很簡單的數據庫是不支持多表查詢的,比如access97等
你這個在執行的時候有報錯嗎,你能把執行後的日誌打出來嗎?
SQL 用update語句一次更新多個字段應該怎麼寫
很簡單:
update tablename
set 字段1=值1,字段2=值2,字段3=值3,·····,字段N=值N
where 篩選字段=條件值
如果是表關聯的級聯更新,這樣寫:
update a set a.字段1=值1,a.字段2=a.值2,a.字段3=a.值3,·····,a.字段N=a.值N
from 表1 a
join 表2 b
on a.列名=b.列名
where 篩選字段=條件值
級聯更新的時候,join可以一直join下去,當然 要更新哪個表,update後麵就寫那張表的別名。
使用SQL的更新語句時,一次可以對幾個表進行更新?
SQL動作查詢,一次隻能操作一張表且同一次隻能進行一種操作。
例如一次隻能對一張表進行更新查詢,不得同時更新多張表,也不得對一張表同時進行追加、刪除和更新等多種操作。
這是所有的關係數據庫管理係統內部機製限定死的,它是經過通盤權衡後所做出的最合理安排。
正因為如此,為了防止對數據的一係列操作因故未能全部完成而導致數據出現不正確狀態,數據庫管理係統特別推出了"事務"這個概念與功能使得對數據的一係列操作"要麼全部成功,要麼全部失敗",而不會是處在中間狀態。
sql 多表查詢更新
那要看你用的是什麼數據了
sqlserver : update A a set a.i = b.k - b.unk from B b where a.key = b.key
oracle : update A a set a.i = (select b.k-b.unk from B b where a.key = b,key) where exists(select 1 from B b a.key = b.key)
試試看 應該是可以的
sql update 如何根據根據其他表計算,更新記錄
update 表2 set 發表=1 where aid =(select id from 表1 where 表1.id =表2.aid and 表1.轉化狀態=1)