Hallo
Ich habe folgendes SQL Script welches mir Menge, Artikel, Artikelname usw. liefert. Wie schaffe ich es, dass mir jeder Artikel nur 1mal mit der entsprechend summierten Menge angezeigt wird?
SQL
SELECT
t1.ID,
t1.STUELI,
t2.position,
menge = t1.mengestrukt,
t2.vbme,
t2.artikel,
myName = LEFT(t2.name,30),
myVariante = ISNULL(t2.variante,'k.A.'),
myAbmessung = ISNULL(t2.abmessung,'k.A.'),
myZeichnung = ISNULL(t2.zeichnung,'k.A.'),
t2.bedarfsort,
myFremdartikel = ISNULL(art.fremdartikelvk,'k.A.')
FROM udf_GetSubtree(@belegnummer) t1
INNER JOIN stuelipos t2 ON t1.id = t2.id
LEFT JOIN artikel art on t2.artikel = art.artikel
where t2.bedarfsort = 4 or t2.bedarfsort = 6
ORDER BY t2.artikel
Alles anzeigen
Hier mein Versuch- liefert aber den Fehler
Die t1.id Spalte ist in der Auswahlliste ungültig, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY klausel enthalten ist.
usw.
usw.
usw.
SQL
SELECT
t1.ID,
t1.STUELI,
t2.position,
menge = t1.mengestrukt, [B][COLOR=darkred]sum(t1.mengestrukt) AS Summe,[/COLOR][/B]
t2.vbme,
t2.artikel,
myName = LEFT(t2.name,30),
myVariante = ISNULL(t2.variante,'k.A.'),
myAbmessung = ISNULL(t2.abmessung,'k.A.'),
myZeichnung = ISNULL(t2.zeichnung,'k.A.'),
t2.bedarfsort,
myFremdartikel = ISNULL(art.fremdartikelvk,'k.A.')
FROM udf_GetSubtree(@belegnummer) t1
INNER JOIN stuelipos t2 ON t1.id = t2.id
LEFT JOIN artikel art on t2.artikel = art.artikel
where t2.bedarfsort = 4 or t2.bedarfsort = 6
[COLOR=darkred][B]GROUP BY t2.artikel[/B][/COLOR]
ORDER BY t2.artikel
Alles anzeigen
THX for HELP
MrTee