2013-02-28 85 views
0

我有一個表board與唯一列id和列hide。我有另一個表pins與列board_id這不是唯一的。每個pins.board_id也在board.id中,並且可以有多個pins.board_id是相同的。如何更新列,如果值不存在於其他表

現在我需要檢查每個board.id以查看它是否存在於任何pins.board_id中,並且如果沒有將hide設置爲'1'。我想象這樣做的方式是一個連接,但是沒有一個連接只匹配兩個表中的值相同的地方?

任何意見讚賞!

回答

1

使用LEFT JOIN加入兩個表。在board_id上包含空值的列僅表示它不存在。

UPDATE board a 
     LEFT JOIN pins b 
      ON a.id = b.board_ID 
SET  a.hide = 1 
WHERE b.board_ID IS NULL 
+0

偉大的工作,謝謝! – Phil 2013-02-28 09:22:43

+0

不客氣':D' – 2013-02-28 09:23:14

相關問題