Hallo
Ich kriege eine SQL Abrage einfach nicht so hin, wie ich diese benötige. Es gibt im Feld product_name doppelte Werte. Diese will ich aussondieren, und zwar müsste das Produkt erscheinen, mit dem grössten Volumen. Ausserdem benötige ich die ID von diesem Produkt.
So versuche ich das zu lösen:
SELECT DISTINCT product_name AS product_name, MAX(product_volume) AS product_volume, ID FROM t_produkte GROUP BY product_nameNun motzt er aber, dass das Feld ID nicht aggregiert und in der Gruppierung aufgeführt wird. Setzte ich aber das ID Feld bei Group By ein, erscheinen natürlich wieder alle Produkte.
Wie kriege ich die Abfrage hin, dass er doppelte Datensätze ausfiltert, den nimmt mit dem grössten Volumen und auch gleich noch die ID von diesem Produkt bringt?
MSSQL, hatte ich vergessen...
---------------------------------------
GROUP BY Clause
Specifies the groups into which output rows are to be placed and, if aggregate functions are included in the SELECT clause <select list>, calculates a summary value for each group. When GROUP BY is specified, either each column in any non-aggregate expression in the select list should be included in the GROUP BY list, or the GROUP BY expression must match exactly the select list expression.
-------------------------------------
also bietet sich folgendes an: GROUP BY product_name, ID
Grüße
Thomas