我有兩個兩個表A
和B
,其中兩個P
列是常見的,我需要在table B
使用update
命令僅在兩個p
值是相同的,C column from table A
給出更新上加入SQLite中
我是什麼艱難的是:
update B
set P =100
where B.P=A.P
and A.C=60
但它給我的錯誤沒有這樣的列A.P
我有兩個兩個表A
和B
,其中兩個P
列是常見的,我需要在table B
使用update
命令僅在兩個p
值是相同的,C column from table A
給出更新上加入SQLite中
我是什麼艱難的是:
update B
set P =100
where B.P=A.P
and A.C=60
但它給我的錯誤沒有這樣的列A.P
要更新TABL e B並且沒有對錶A的引用,所以sqlite只是不知道在哪裏尋找。試試這個:
UPDATE B
SET P = 100
WHERE B.P IN (SELECT A.P
FROM A
WHERE A.C = 60)
不給出錯誤,但不給出輸出 – user2519391
這是給你的輸出? 'SELECT * FROM B WHERE B.P IN(SELECT A.P FROM A WHERE A.C = 60)' – mishik
ya這給出了輸出 – user2519391
你可以像下面這樣做
Update B set P = 100 WHERE B.P = (Select P from A WHERE C = 60)
的可能重複[SQL:如何從使用相同的用戶名另一個表更新表中的值(HTTP://計算器。 com/questions/3845718/sql-how-to-update-table-values-from-another-table-with-the-the-the-same-user-name) –