mysql unterabfragen

Dieses Thema im Forum "Datenbanksysteme für das Web" wurde erstellt von Erika, 01.12.2005.

  1. Erika

    Erika Thread Starter MacUser Mitglied

    Beiträge:
    232
    Zustimmungen:
    0
    MacUser seit:
    03.01.2004
    ich möchte einträge mit der ID aus table1 dessen ID nicht in table 2 steht und deren table1.inhalt='irendwas' ist und table2.andererinhalt='nochwas' ist ausgeben

    schon das funzt nicht:
    select * from table1 as A where
    ID not in ( select * from table2 as B where A.ID=B.ID );

    ich hab alle mögliche probiert. kann mir jemand die syntax geben?

    Erika
     
  2. Stan Tiefsand

    Stan Tiefsand MacUser Mitglied

    Beiträge:
    205
    Zustimmungen:
    0
    MacUser seit:
    15.07.2003
    Hi,

    genau weis ich es jetzt nicht - aber mir war so, dass bei MySQL Unterabfragen nicht möglich sind.

    Werde es heute Abend mal nachprüfen!

    Gruß

    Stan
     
  3. gishmo

    gishmo MacUser Mitglied

    Beiträge:
    812
    Zustimmungen:
    23
    MacUser seit:
    16.03.2004
    Denk mal in die Richtung:

    select * from table1 where
    ID not in ( select distinct ID from table2);
     
  4. Wile E.

    Wile E. MacUser Mitglied

    Beiträge:
    1.862
    Zustimmungen:
    4
    MacUser seit:
    09.03.2005
    Versteh ich nicht, wenn es die ID in Table2 nicht gibt, wie findest Du dann den zugehoerigen Datensatz, um an .andererinhalt zu kommen? Poste doch mal Deine Tabellenstruktur und ein Beispiel.
    Wile
     
  5. baumschubser

    baumschubser MacUser Mitglied

    Beiträge:
    21
    Zustimmungen:
    0
    MacUser seit:
    15.01.2005
    SELECT a.id FROM test_1 as a LEFT JOIN test_2 as b ON a.id=b.id WHERE b.id IS NOT NULL

    Sollte eigentlich funktionieren.

    Die von gishmo angesprochenen Subqueries funktionieren doch erst ab 5.0., oder ?
     
    Zuletzt bearbeitet: 01.12.2005
  6. gishmo

    gishmo MacUser Mitglied

    Beiträge:
    812
    Zustimmungen:
    23
    MacUser seit:
    16.03.2004
    @baumschuber:
    Keine Ahnung, aber so würde man das bei echten Datenbanken lösen ... ;-)
    Deine Lösung geht auch, dürfte aber teuerer sein.
     
  7. Erika

    Erika Thread Starter MacUser Mitglied

    Beiträge:
    232
    Zustimmungen:
    0
    MacUser seit:
    03.01.2004
    @baumschubser
    leider auch nicht "#1064 - You have an error in your SQL syntax."
     
  8. Stan Tiefsand

    Stan Tiefsand MacUser Mitglied

    Beiträge:
    205
    Zustimmungen:
    0
    MacUser seit:
    15.07.2003
    Welche MySQL-Version nutzt du denn?

    Stan
     
  9. baumschubser

    baumschubser MacUser Mitglied

    Beiträge:
    21
    Zustimmungen:
    0
    MacUser seit:
    15.01.2005
    Das "NOT" müßte noch raus, ansonsten funktioniert das wie von mir beschrieben mit der Version 4.0.18 - sollte vielleicht mal updaten ;o)
     
  10. Erika

    Erika Thread Starter MacUser Mitglied

    Beiträge:
    232
    Zustimmungen:
    0
    MacUser seit:
    03.01.2004
    :)

    Danke!!!
     
Die Seite wird geladen...

Diese Seite empfehlen