關於MySQL的問題,我怎樣才能得到屬於另一個表項的所有組合的表項?屬於條目的組合在另一張表中選擇表項(MySQL的)
背景:我想算其中包括訂單項目的訂單。每個訂單商品都具有「取消」或「已交付」狀態。有部分交貨,因此可以一次交付和取消訂單。我想算的淨訂單,我想知道有多少的訂單有多個項目狀態的項目。
Order Number | Order Item | Status
X0001 | Item | delivered
X0001 | Item | delivered
X0002 | Item | delivered
X0002 | Item | canceled
X0002 | Item | delivered
X0003 | Item | delivered
我在這裏有3個有效的訂單和一個訂單交付/取消。我如何要求所有至少有一個送達和一個取消項目的訂單?
由於我對MySQL非常陌生,我基本上在尋找正確的方法。我需要子查詢或關節嗎?
編輯:首先,很抱歉這麼晚纔回復。再次抱歉,因爲我的問題顯然是誤導性的。
涉及三個表格:'order','order_item'和'order_item_status'。
'order'和'order_item'通過'order_item.fk_order'和'order.id_order'鏈接。
'order_item'和'order_item_status'通過'order_item.fk_order_item_status'和'order_item_status.id_order_item_status'鏈接。
到目前爲止,你一直非常有幫助,但我仍然有點卡住,因爲我不知道如何最終通過組合計數。 完美的結果將是類似的東西:
{shipped} | 34
{canceled} | 12
{shipped, canceled} | 8
{closed, canceled} | 4
{closed} | 27
... | ...
但我不知道如何處理與查詢的組合。也許你有一些更有益的提示我...
非常感謝你。
給定數據的結果是什麼? – hjpotter92
WHERE IN(x,y)GROUP BY b HAVING COUNT(*)= no。 IN子句中的項目 – Strawberry