【发布时间】:2012-08-21 13:27:32
【问题描述】:
我有两张表:一张包含清单上的项目(checklist_id,内容),另一个包含用户和清单项目编号之间的关系(checklist_fk,user_fk)。每次用户勾选某项时,都会插入一行,指示用户 15 完成了第 3 项。
当我查询这个时,我正在使用
SELECT content, user_fk, checklist_id, checklist_fk
if (checklist_fk is null, false, true) completed
FROM checklist
LEFT JOIN checklist_completion ON checklist_id = checklist_fk;
但是,如果任何用户已完成给定的清单项,则已完成返回 true。我需要在加入之前过滤第二个表 WHERE user_fk = XX ,但是我该怎么做呢?我相信您应该使用 HAVING user_fk = XX 但这会引发语法错误。
【问题讨论】: