SQL Inner Join funkt. nur wenn in beiden Tabellen Datensätze sind

Registrierer

Erfahrenes Mitglied
Ich frage über 2 Tabellen z. B. so ab:
Code:
SELECT kunden.KDNR FROM kunden Inner Join kfz ON kfz.KDNR = kunden.KDNR WHERE kunden.KDNR =  '2440249'
Wenn aber in der Tabelle kfz noch kein Datensatz existiert bekomme ich logischerweise 0 Ergebnisse.
Ich könnte kfz vorher natürlich abfragen und den Suchstring dann entsprechend anpassen, gibt es noch eine elegantere Lösung?

Danke
 
Falsches Forum, was sollte das im PHP-Forum zu suchen haben?

Unter "Relationale Datenbanksysteme" bist du weitaus besser aufgehoben.
 
Vorallem stell eine Richtige Frage und lass nicht alles aus. Sollen nun die anderen erratten was du geplannt hast. Oder sind wir hier bei einen Intelligenz Test wo man es mit fehlenden Informationen zu tun hat?

Weiters sollte man Sql befehle in einer Struktur gliedern zum besseren lesen des Syntax und nicht alles in eine Wurscht schreiben.

Mfg Splasch
 
Vielen Dank für die zahlreichen konstruktiven Antworten, Hinweise und Verbesserungsvorschläge.
Wenn es jetzt noch Lösungsvorschläge für die Frage gäbe, seid Ihr die Größten für mich!
Ansonsten lasst den destruktiven Besserwisserunsinn einfach weg, das braucht kein Mensch.
 
Vielen Dank für die zahlreichen konstruktiven Antworten, Hinweise und Verbesserungsvorschläge.
Wenn es jetzt noch Lösungsvorschläge für die Frage gäbe, seid Ihr die Größten für mich!
Ansonsten lasst den destruktiven Besserwisserunsinn einfach weg, das braucht kein Mensch.

Schon irgendwie frech :D


Zum Beitrag von CookieBuster, er wollte dich lediglich drauf hinweisen dass du im falschen Forum bist.
Und splasch's Beitrag finde ich vollkommen berechtigt, denn was du geschrieben hast:

Wenn aber in der Tabelle kfz noch kein Datensatz existiert bekomme ich logischerweise 0 Ergebnisse.
Ich könnte kfz vorher natürlich abfragen und den Suchstring dann entsprechend anpassen, gibt es noch eine elegantere Lösung?

Ist irgendwie (mit Verlaub) unverständlich.


Aber ums zu versuchen:
Inner Join:
Mit der Operation INNER JOIN werden mehrere Tabellen verbunden, sofern zumindest ein Datenfeld in beiden Tabellen übereinstimmt.

Probiere es mal mit Left Join (oder Right Join), vielleicht geht das.
Code:
SELECT 
     kunden.KDNR,
     kfz.KDNR
FROM 
     kunden
LEFT Join 
      kfz 
ON 
       kfz.KDNR = kunden.KDNR 
WHERE 
       kunden.KDNR =  '2440249'

Und nein, ich weiß nicht ob es funktioniert.
 
Das ist die Lösung, Danke.

Ich wollte mit meinem obigen Kommentar nur zum Ausdruck bringen, dass Beschimpfungen und Besserwisserei zu keiner Lösung beitragen sondern nur Datenmüll im Forum erzeugen.
Wie ja Dein Lösungsvorschlag zeigt, war mein Anliegen vielleicht unglücklich formuliert aber wer sich in der Materie wohlfühlt hatte damit weniger Probleme.
Leider gibt es mittlerweile zu viele Forummitglieder, die in der Sache nichts beitragen aber immer wissen, wie man Fragen besser formuliert, welches Forum das richtige ist und wie man gutes Benehmen schreibt!

In diesem Sinne, Danke und schöne Ostern noch...
 
Und in diesem Fall hatte CookieBuster eindeutig Recht. Dazu noch der Tipp "Beitrag melden" ist in diesem Falle in Ordnung, wir verschieben das dann...
Das hätte dann auch die eher patzige Antwort verhindert ;)

Und wenn ein Beitrag erledigt ist, dann kann man unten auch auf "Erledigt" klicken und eventuell sogar auf "Danke!" für den User der dir bei der Lösung geholfen hat...

/moved
 
[OffTopic]
@Felix Jacobi, Kalma, splash & CookieBuster
Beneidenswert, eure Ausgeglichenheit und schier unerschöpfliche Geduld.
In mindestens einem anderen mir namentlich bekannten Forum wäre ein Beitrag, der mit einer sinnfreien Überschrift "SQL Inner Join funkt. nur wenn in beiden Tabellen Datensätze sind" und einem "Mann, hab ich heute einen Kater.."-Monolog als Inhalt im PHP-Forum gepostet worden wäre...
...der wäre schon vor der patzigen Antwort kompostiert worden.

Schafft ihr das dank Meditation oder spritzt ihr Baldrian intravenös?

SCNR
Biber
[/OffTopic]
 
Hi,

nimm mal

SQL:
SELECT kunden.KDNR 
FROM kunden LEFT JOIN kfz 
ON kunden.KDNR = kfz.KDNR 
WHERE kunden.KDNR =  '2440249'

Grützi,
gore
 
Zurück