我想創建一個表,它採用2列的不同組合,只返回那些大於1的表。如何創建一個跨多個列使用不同值的聚合作爲參數的表?
我到目前爲止創建了一個所有公司和與之相關的合同表。
Company Contract
------- --------
ABC 0000111
ABC 0000113
DEF 0000124
GHI 0000207
GHI 0000389
GHI 0000567
它還創建了第二個表,找出那些columan的不同組合,並創建它們出現次數的列表。
Company Countr
------- --------
GHI 3
ABC 2
我試圖做出第三個表,只返回公司與多個合同匹配的那些行。
Company Contract
------- --------
ABC 0000111
ABC 0000113
GHI 0000207
GHI 0000389
GHI 0000567
修改的源,如果它可以幫助
SELECT DISTINCT inventory.company, inventory.contracts
FROM inventory
WHERE inventory.company not in ('Company Name')
(
SELECT
DISTINCT inventory.company,
count(DISTINCT(concat(inventory.company, inventory.contracts))) AS Countr
FROM inventory
WHERE
inventory.company not in ('Company Name')
GROUP BY company
HAVING count(DISTINCT(concat(inventory.company, inventory.contracts))) > 1
)
ORDER BY Countr DESC
嗨Vyff。一起標記MySQL和SQL Server被認爲是糟糕的形式。兩種產品的工作方式不同。這意味着在我們可以幫助您之前,我們需要知道您使用的是哪一個。 –
我的歉意。這是我第一次發佈,所以我只是使用了推薦的stackoverflow。我正在使用SQL服務器。 – Vyff
Vyff你在這裏有幾個不同的答案,澄清你是否可以確認你想看看有多個合同的公司,即使它們是相同的?例如,如果'inventory'中有兩條記錄是XYZ,0000001,那麼您是否要返回XYZ,0000001? – EoinS