首先,我不确定这是否应该在Coldfusion或MySQL中完成。
我查询了检索目录中项目的项目。我有第二个查询从用户的列表中检索项目。我的目标是在输出第一个查询(项目目录)时查明某个项目是否已存在于用户列表中。
items(itemId, itemName)
users_items(itemId,memberId)
答案 0 :(得分:4)
项目是否可以属于多个目录?如果是这样,您无法根据USERS_ITEMS
表判断哪个目录正确呈现列表。
否则,我认为您可以使用LEFT JOIN:
SELECT i.itemid,
i.itemname,
ui.memberid
FROM ITEMS i
LEFT JOIN USERS_ITEMS ui ON ui.itemid = i.itemid
AND ui.memberid = ?
...将返回一个结果(我省略了itemname):
itemid memberid
--------------------
1 1234
2 NULL
3 1234
如果您看到NULL
,则会告诉您该成员尚未订购该项目。
在Coldfusion中,您只需根据值或NULL的存在来设置页面以适当地处理添加或删除选项。
memberid
null 时,只允许某人“添加到列表”(IE:第2项)memberid
非空 (IE项目1& 3) - 提供“从列表中删除”选项。