2013-02-28 132 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

相关问题