migges: mysql Abfrage Problem

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

  1. 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

    --
    -------------------
    sh:| fo:} ch:? rl:( br:& n4:{ ie:| mo:} va:) js:| de:] zu:| fl:( ss:) ls:& (SelfCode)
    Ambition is the last refuge of failure.  --  Oscar Wilde (Irish Poet, Novelist, Dramatist and Critic, 1854-1900)
    1. 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.