2013-06-26 63 views
1

我有兩個兩個表AB,其中兩個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

+1

的可能重複[SQL:如何從使用相同的用戶名另一個表更新表中的值(HTTP://計算器。 com/questions/3845718/sql-how-to-update-table-values-from-another-table-with-the-the-the-same-user-name) –

回答

3

要更新TABL e B並且沒有對錶A的引用,所以sqlite只是不知道在哪裏尋找。試試這個:

UPDATE B 
SET P = 100 
WHERE B.P IN (SELECT A.P 
       FROM A 
       WHERE A.C = 60) 
+0

不給出錯誤,但不給出輸出 – user2519391

+1

這是給你的輸出? 'SELECT * FROM B WHERE B.P IN(SELECT A.P FROM A WHERE A.C = 60)' – mishik

+0

ya這給出了輸出 – user2519391

1

你可以像下面這樣做

Update B set P = 100 WHERE B.P = (Select P from A WHERE C = 60)