0
我有一個包含訂單 - 供應商關係的普通表。它顯示哪些供應商參與了哪個訂單。顯然,一個訂單可以有多個供應商:SELECT其中組包含來自另一個表的值
+---------+------------+
| OrderId | SupplierId |
+---------+------------+
| O_1 | S_1 |
+---------+------------+
| O_1 | S_3 |
+---------+------------+
| O_2 | S_1 |
+---------+------------+
| O_2 | S_2 |
+---------+------------+
| O_2 | S_999 |
+---------+------------+
而且我有一個包含對這樣的供應商(輸入數據)另一個表:
+--------------+--------------+
| SupplierId_1 | SupplierId_2 |
+--------------+--------------+
| S_1 | S_2 |
+--------------+--------------+
| S_2 | S_3 |
+--------------+--------------+
需要注意的是對是唯一的,所以如果有( S_1,S_2)對不會有(S_2,S_1)對。但是不可能說出這對貨幣將以何種順序出現:它可以以(S_1,S_2)或(S_2,S_1)的形式出現,但不能同時出現。
如何從這些配對獲得供應商訂單的ID?
例如,在這種情況下,由於沒有(S_1,S_3)或(S_3,S_1)對,因此至少有兩個供應商有一對( S_1和S_2)。
所以基本上我需要通過OrderId對第一個表進行分組,並選擇訂單,其中每個訂單提供商列表至少包含一個來自第二個表的對。
是否有任何列用作'order by'? – McNets