这是一个简单的,但由于某种原因,我无法破解它,我的大脑放弃了
它是关于填充一些复选框,其中一些复选框根据查找
进行检查我有三个表:标签,项目和名为itemtags的联结表。我将'item_id'作为查询的标识符
和联结表
(item_id是items表中的pk,我总是有这个值,所以这个问题没有必要)
从标签表填充复选框。
我想使用item_id作为标识符来运行查询,该标识符获取所有标记并返回它们(只有5个)并根据item_id进行检查,因此总会有5行。
因此,每个标签上返回的'item_id'有时会为空(这意味着在这种情况下是未选中的复选框)
我确定答案是盯着我,但我却看不到它
TIA
答案 0 :(得分:0)
这将列出所有标签,以及是否对特定项目进行了检查;
SELECT *, CASE WHEN item_id IS NULL then 0 ELSE 1 END checked_for_item_1
FROM tags
LEFT JOIN itemtags
ON tags.tag_id = itemtags.tag_id
AND item_id = 1
ORDER BY tags.tag_id;