Может ли товар принадлежать более чем одному каталогу?Если это так, вы не можете сказать, какой каталог на основе таблицы 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 = ?
... который будет возвращать результат, подобный (я пропустил имя элемента):
itemid memberid
--------------------
1 1234
2 NULL
3 1234
Где вы видите NULL
, говорит вам, что участник не заказал элемент.
В Coldfusion вам просто нужно настроить страницу для соответствующей обработки опции добавления или удаления в зависимости от наличия значения или NULL.
- разрешать кому-либо «добавлять в список» только тогда, когда
memberid
равно ноль (IE: элемент 2) - , если
memberid
равно не равно (элементы IE 1 и 3) -укажите опцию «удалить из списка».