Einzelnen Beitrag anzeigen
  #1  
Alt 29.11.2015, 22:47:49
carstenB carstenB ist offline
Anfänger
 
Registriert seit: Nov 2015
Alter: 62
Beiträge: 1
Wie richte ich hier 'join' richtig ein?

Hallo,

in einer SELECT-Abfrage über zwei Tabellen scheiter ich im Moment an der richtigen JOIN-Einrichtung.

Folgende Situation:
Einer Tabelle mit z.B. vielen Lieferanten ist eine Tabelle mit deren Produkten zugeordnet, Querverweis ist eine Lieferantennummer, die in jedem Produkt, welches er liefern kann, enthalten ist.
Zunächst sollen nur die Lieferanten aufgelistet werden, für die bei einem Produkt ein Fakt zutrifft, z.B. dessen Farbe rot ist.

Mein Ansatz bisher ist so:
select name,bundesland from lieferant
left join produkt on produkt.lieferantnr=lieferant.lieferantnr and produkt.farbe='rot'

Leider listet der Befehl jedoch bei mehreren roten Produkten eines Lieferanten diesen mehrfach auf. Wie vermeide ich das?

Dadruch klappt meine nächste Aufgabe nicht. Denn dann sollen diese Lieferanten gruppiert bzw. ausgezählt werden, wieviele aus den einzelnen Bundesländern stammen. Da jedoch manche Lieferanten mehrfach erscheinen werden sie auch in meinem folgenden Ansatz mehrfach gezählt.

Also etwa so:
select count(*),bundesland from lieferant
left join produkt on produkt.lieferantnr=lieferant.lieferantnr and produkt.farbe='rot'
group by bundesland

Ich hoffe, meine Frage kam richtig rüber, sonst versuche ich auf Nachfrage einen anderen Ansatz ;-)

Vielen Dank schonmal vorab

carstenB
Mit Zitat antworten