mysql Abfrage Problem
migges
- datenbank
Hi,
ich habe eine Frage zu einer mysql Abfrage.
In der Tabelle stats_140108 gibt es eine ID die es in der Tabelle main1 nicht gibt, diese möchte ich herausfinden.
stats_140108 hat 6.636 Datensätze
select stats_140108.ID from main1 right join stats_140108 on main1.ID = stats_140108.ID where main1.ID = stats_140108.ID
Diese Abfrage liefert 6.635, was auch richtig ist.
select stats_140108.ID from main1 right join stats_140108 on main1.ID = stats_140108.ID where main1.ID <> stats_140108.ID
oder
select stats_140108.ID from main1 right join stats_140108 on main1.ID = stats_140108.ID where main1.ID != stats_140108.ID
liefert NULL. :(
Hat jemand evtl eine Idee zu dem problem?
mfg
Hello,
select stats_140108.ID from main1 right join stats_140108 on main1.ID = stats_140108.ID where main1.ID = stats_140108.ID
Diese Abfrage liefert 6.635, was auch richtig ist.
select stats_140108.ID from main1 right join stats_140108 on main1.ID = stats_140108.ID where main1.ID <> stats_140108.ID
Versuch die Logik umzukehren indem du tatsächlich korrekt zusammenführen lässt und dann nachguckst, wo es NICHT geklappt hat.
select stats_140108.ID from main1 right join stats_140108 on main1.ID = stats_140108.ID where main1.ID IS NULL
Deine Abfrage liefert nicht dieses Ergebnis, weil der Join von vornherein dafür sorgt, dass es entweder nur zwei gleiche oder eben keinen Vergleichsdatensatz (NULL) gibt - Vergleiche mit NULL sind nicht wahr oder falsch!
MfG
Rouven
Hello,
...
Deine Abfrage liefert nicht dieses Ergebnis, weil der Join von vornherein dafür sorgt, dass es entweder nur zwei gleiche oder eben keinen Vergleichsdatensatz (NULL) gibt - Vergleiche mit NULL sind nicht wahr oder falsch!MfG
Rouven
Super, vielen vielen Dank.