Select....left join

Maximus

Erfahrenes Mitglied
Hallo,

ich habe folgendes Problem mit MSSQL:


Code:
SELECT euro2008_tips.spieler_id, euro2008_tips.tip_id, euro2008_tips.spiel_id, euro2008_spiele.spiel_id AS Expr1FROM euro2008_tips 
RIGHT OUTER JOIN euro2008_spiele ON euro2008_tips.spiel_id = euro2008_spiele.spiel_id 
WHERE (euro2008_tips.spieler_id LIKE @spieler_id) OR (euro2008_tips.spieler_id IS NULL
.

Es sollen IMMER alle Einträge der Tabelle euro2008_spiele angezeigt werden.
Problem: In der Tabelle euro2008_spiele sind zur Zeit 6 Einträge.
In der Tabelle euro2008_tips gibt es 3 Einträge: 2 mit spieler_id="Willi" und 1 mit spieler_id="Hans".
Wenn ich in obigen Select nun den @spieler_id Parameter auf "Willi" setze, werden 6 Ergebnisse geliefert; setze ich den Parameter auf "Hans" sind es nur 5.
Es fehlt dann die Zeile für die Willi den 2. Eintrag hat.
Wie kann ich das Problem lösen?

Danke für Deine Hilfe.

Gruß
Maximus.
 
Hallo Maximus,

der SQL gibt dir ja auch das korrekte Ergebnis. Es ist nur nicht das Ergebnis was du möchtest.

Aber versuchs mal so:
Code:
SELECT     *
FROM         (SELECT     spieler_id, tip_id, spiel_id
                       FROM          euro2008_tips
                       WHERE      (spieler_id = @spieler_id)) tips RIGHT OUTER JOIN
                      euro2008_spiele ON tips.spiel_id = euro2008_spiele.spiel_id
 

Neue Beiträge

Zurück