我正在嘗試執行INNER JOIN
並用來自兩個表格的信息計數值。問題在於產品類別表格有多行具有相同或相似的值,因此我的COUNT()
爲高。使用具有相同值的多行的表格
我的兩個表
銷售表
Date prod_id
2016-01-01 81
2016-01-01 82
2016-01-01 81
2016-10-01 80
2016-01-01 80
2016-01-02 80
2016-01-02 80
2016-01-02 81
2016-01-02 81
.... ....
產品表
prodid Name
80 Banana
81 Apple
82 Orange
83 Ice Cream
80 BANANAS
81 APPLE
82
83 Ice Cream
.... ....
當我做一個INNER JOIN
和計數的例如出現的次數prod_id
我得到一個不合理的數字,我的猜測是,這是因爲例如有不止一次出現。
您對解決方案有任何想法嗎?我的第一反應是重做Procuct
表,但依賴於該表的許多其他系統,所以我無法在可預見的將來改變它。
我到目前爲止查詢:
SELECT
pt.Date AS "Date",
ft.Name AS "Product",
COUNT(ft.Name) Number
FROM SALES as pt
INNER JOIN PROD_TABLE AS ft ON pt.prod_id=ft.prodid
WHERE pt.Date BETWEEN '2016-01-01' AND '2016-01-30'
GROUP BY pt.Date, ft.Name
ORDER BY pt.Date DESC
預期結果:
Date Product Number
2016-01-01 Banana 2
2016-01-01 Apple 2
2016-01-01 Orange 1
向我們展示預期結果和您當前的查詢嘗試。 – jarlh