Ich versuche, eine INNER JOIN
zu machen und Werte mit Informationen aus zwei Tabellen zu zählen. Das Problem ist, dass die Produktkategorie-Tabelle mehrere Zeilen mit dem gleichen oder ähnlichen Wert hat und mein COUNT()
zu hoch ist.Verwenden Sie Tabelle mit mehreren Zeilen mit dem gleichen Wert
Meine beiden Tabellen
Verkaufstisch
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
.... ....
Produkt Tisch
prodid Name
80 Banana
81 Apple
82 Orange
83 Ice Cream
80 BANANAS
81 APPLE
82
83 Ice Cream
.... ....
Wenn ich eine INNER JOIN
und die Anzahl der Vorkommen von beispielsweise zählen prod_id
Ich bekomme eine unangemessen hohe Zahl, und meine Vermutung ist, dass es, weil es mehr als ein Vorkommen von prod_id
80 zum Beispiel gibt.
Haben Sie eine Idee für eine Lösung? Meine erste Reaktion war, die Procuct
Tabelle zu wiederholen, aber es gibt viele andere Systeme, die von dieser Tabelle abhängen, also kann ich es eine absehbare Zukunft nicht ändern.
Meine Anfrage bisher:
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
Erwartetes Ergebnis:
Date Product Number
2016-01-01 Banana 2
2016-01-01 Apple 2
2016-01-01 Orange 1
Zeigen Sie uns das erwartete Ergebnis und Ihren aktuellen Abfrageversuch. – jarlh