检查列中的值是否存在于另一个表的列中

时间:2012-11-28 00:58:53

标签: mysql

我有 TABLE1 with COLUMNS A,B,...并想要检查COLUMN A的值是否在其他列表中,例如表2中的第X列。结果应该是表1中的C列(布尔值为TRUE,FALSE)

有一些优雅的方法怎么做?我现在正在做的是SELECT +LEFT JOIN到一个新表(CREATE TABLE X SELECT ...)。是否有可能做UPDATE TABLE1 SET C =....所以没有其他表,只有旧的TABLE1。

谢谢

1 个答案:

答案 0 :(得分:0)

试试这个:

UPDATE    Table1 t1
LEFT JOIN Table2 t2 ON t2.X = t1.A
SET       t1.C = (CASE WHEN t2.X IS NOT NULL THEN TRUE ELSE FALSE END);
相关问题