Announcement

Collapse
No announcement yet.

select Untertabelle ausschließen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • select Untertabelle ausschließen

    Hi zusammen!

    Habe zwei Tabellen:
    t1 mit id, ... und t2 mit u.a. Fremdschlüssel auf t1.id, ...

    Nicht alle t1 haben auch eine t2 und genau die möchte ich haben.

    Mein Ansatz:
    Code:
    SELECT DISTINCT t1.id FROM t1 JOIN t2 ON t1.id != t2.t1_id WHERE t1.asdf = 2
    liefert jedoch das gleiche wie:
    Code:
    SELECT DISTINCT t1.id FROM t1 WHERE t1.asdf = 2
    Warum und wie löse ich mein Problem?


    Tausend Dank, Andi

  • #2
    SELECT DISTINCT id FROM t1 WHERE NOT EXISTS (SELECT * FROM t2 WHERE t2.id=t1.id)

    Comment


    • #3
      Originally posted by CLL View Post
      SELECT DISTINCT id FROM t1 WHERE NOT EXISTS (SELECT * FROM t2 WHERE t2.id=t1.id)
      Vom Allerfeinsten!

      Tausend Dank!

      Comment


      • #4
        Hallo CLL.

        Ich hab meine Abfrage (siehe http://entwickler-forum.de/showthread.php?t=64255) auch so gemacht wie dein Vorschlag und meine Abfrage etwas mit zwei weiteren AND x=y erweitert.

        Leider hab ich das Problem, dass die Abfrage viel zu lange dauert.

        Ich bräuchte eine hochperformante Lösung - hast Du (oder jemand) eine Idee?

        Comment

        Working...
        X