我有批次和任务。在将一些任务批处理到另一个批处理中时,我想通过标记deleted = true来关闭现在为空的所有批处理。我试图只选择使用一个没有任务的批次的连接。:
SELECT id FROM batches INNER JOIN tasks on batches.id = tasks.batch_id where count(tasks.id) > 0
但这似乎不起作用。
答案 0 :(得分:2)
更改为外部联接。内部联接无法获得不匹配。
SELECT id FROM batches LEFT JOIN tasks on batches.id = tasks.id where tasks.id is null
答案 1 :(得分:0)
如果我没有误解你的问题,那就是你要找的。 p>
UPDATE tbl
SET col=tbl.col
FROM tbl
INNER JOIN tbl1 ON tbl1.SomeCol=tbl.SomeCol
WHERE ......