Jump to content

Group By nach Join


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

ich mache einen join zwischen einer adressetabelle und einer branchentabelle. zu jeder adresse können mehrere branchen vorkommen. das bekomme ich soweit hin. ich selektiere dabei im where nur bestimmte branchen. soweit auch okay.

 

am ende interessiert mich aber nur noch, welche adresse im ergebnis vorkommt. will in der ausgabe nur jede adresse einmal haben. also ein group auf die adressenid. leider bekomme ich dann die meldung, dass andere spalten wie Kundennr in der Auswahlliste ungültig sind, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY-Klausel enthalten sind.

 

SELECT

 

ADRESSEN.KUNDENNR,

ADRESSEN.PLZ,

ADRESSEN.ORT,

BRANCHEN.BRANCHE1 as Branche1AVW,

ADRESSEN.STRASSE,

ADRESSEN.HNR,

ADRESSEN.ADRESSENID

 

FROM ADRESSEN left join BRANCHEN on ADRESSEN.ADRESSENID=BRANCHEN.ADRESSEN_ID

 

group by ADRESSEN.ADRESSENID

order by Ort, Firma

Link zu diesem Kommentar

Moin,

 

Wozu muss oder kann man im group dann überhaupt eine Spalte angeben, wenn man alle nutzen muss?

 

hinter GROUP BY gibst du an, nach welchen Spalten du gruppieren willst. Bei den nicht gruppierten Spalten musst du dann angeben, welche Werte du denn sehen willst.

 

Du hast ja mehrere Reihen und fasst diese zusammen. Denk dir eine Tabelle mit "Name" (Text), "Sorte" (Text) und "Preis" (Zahl). In fünf Reihen steht vielleicht derselbe Wert für "Sorte", aber unterschiedliche Werte für "Name" und "Preis". Dann musst du beim Gruppieren logischerweise angeben, welchen der Werte für "Name" der Server dir denn geben soll. Die Spalte "Preis" hingegen könntest du als Summe zusammenrechnen.

 

Gruß, Nils

Link zu diesem Kommentar

ja, distinct wäre falsch, weil, wenn ich das richtig verstehe, würde mir dies vorher schon adressen zusammenfassen und im nachhinein würde meine where-bedingung nicht korrekt angewendet werden, da einfach mal branchenwerte fehlen.

 

mit dem max ist also so, dass der server bei der zusammenfassung sonst schlichtweg nicht weiß, welchem wert er bei der zusammenfassung prioriät geben soll. deshalb also max.

 

gut, werd ich mal probieren

Link zu diesem Kommentar

Es hat sich doch mittlerweile eigentlich eingebürgert, dass in Foren vieles nur noch kleingeschrieben wird. Ich nutze doch immerhin noch Satzzeichen. Ganz ehrlich, ich finde Kleinschreibung erschwert in keiner Art und Weise die Lesbarkeit. Aber gut, hab damit kein Problem. Muss nur immer Umdenken.

Übrigens, die ersten zwei Male als ich meinen Beitrag schrieb, war er noch in Groß- und Kleinschreibung. Beim dritten Mal, als ich zweimal zuvor zwischen Browser und Managementstudio gewechselt war und dann im Browser zum Löschen Backspace nutzte, war ich ein wenig doll angeko*** den Beitrag nun noch ein drittes mal schreiben zu müssen. Wers nicht versteht: Backspace= History Back.. sprich, er sprang auf die vorhergehende Seite und mein Text war im Datennirvana verschwunden.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...