首先,我不確定這是否應該在Coldfusion或MySQL中完成。如何比較兩個查詢的結果,並找出兩者之間的匹配?
我有一個項目查詢檢索目錄中的項目。我有第二個查詢從用戶列表中檢索項目。我的目標是在輸出第一個查詢(項目目錄)時查明某個項目是否已經存在於用戶列表中。
items(itemId, itemName)
users_items(itemId,memberId)
首先,我不確定這是否應該在Coldfusion或MySQL中完成。如何比較兩個查詢的結果,並找出兩者之間的匹配?
我有一個項目查詢檢索目錄中的項目。我有第二個查詢從用戶列表中檢索項目。我的目標是在輸出第一個查詢(項目目錄)時查明某個項目是否已經存在於用戶列表中。
items(itemId, itemName)
users_items(itemId,memberId)
項目是否可以屬於多個目錄?如果是這樣,你不能根據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 = ?
... which'll返回像一個結果(我省略了itemname):
itemid memberid
--------------------
1 1234
2 NULL
3 1234
如果您看到NULL
,告訴你該成員沒有訂購該物品。
在Coldfusion中,您只需設置頁面以根據值或NULL的存在情況適當地處理添加或刪除選項。
memberid
是空(IE:第2項)memberid
是不爲空(IE項目1 & 3)--provide 「從列表中刪除」選項。
您的預期產出是多少?因爲某人可以(並且將)訂購多件同一件物品 - 當您加入「ITEMS」表時,這會產生重複。 – 2010-09-10 02:18:16
不,我的意圖是顯示一個添加到列表或從列表中刪除按鈕...所以我明確不希望一個人多次添加相同的項目。 – Mohamad 2010-09-10 02:27:59