【发布时间】:2013-05-20 06:52:49
【问题描述】:
SELECT ITEM_TITLE
FROM (SELECT ITEM.ITEM_TITLE
FROM ITEM JOIN ITEMSELLER ON ITEMSELLER.IS_ITEMID = ITEM.ITEM_ID
JOIN SELLER ON SELLER.SELLER_ID = ITEMSELLER.IS_SELLERID
GROUP BY ITEM.ITEM_TITLE
HAVING COUNT(ITEMSELLER.IS_ITEMID)>1);
对于甲骨文,
我想仅列出已由多个卖家以卖家姓名(所有人)出售的商品。
代码可以正常工作,但我无法列出卖家名称,并希望在卖家数量增加时兼容(意味着列可以不受限制,取决于有多少卖家出售了相同的商品)。
从上面的代码有3个表,
ITEM : has item_title, item_id
SELLER : has seller_id, seller_fname, seller_lname
ITEMSELLER : has is_itemid (FK with item_id), is_sellerid (FK with Seller_id)
结果应该是这样的
items seller_1 seller_2 seller_3.........seller_x
------- -------- ------- ------- --------
item_a John William (null) (null)
item_b William Bruce Julia (null)
item_c Julia John William Marry
或
items sellers
------- --------
item_a John, William
item_b William, Bruce, Julia
item_c Julia, John, William, Marry
【问题讨论】:
-
对于多条记录(意味着多个卖家),您将获得不同的 - 不同的行,那么我认为您不必担心多列
标签: sql oracle count multiple-columns having