tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von CPoly
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
219
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von kramoo
    kramoo kramoo ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Ort
    Österreich
    Beiträge
    57
    Habe zwei Tabellen

    tabelle1
    id|name|url|aid|...

    tabelle2
    id|name|link|....

    Möchte alle Datensätze aus tabelle2 wo tabelle1.aid nicht gleich tabelle2.id.
    Also alles aus tabelle2 die nicht die Zahlen aus tabelle1.aid enthält.

    Leider habe ich momentan keine Idee wie ich das mit einer Abfrage lösen kann?
    Datenbank ist eine MySQL.
    Bitte um Hilfe.
    Danke
     

  2. #2
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Naiv und unperformant:
    Code sql:
    1
    
    SELECT * FROM tabelle2 WHERE id NOT IN (SELECT aid FROM tabelle1)

    Besser:
    Code sql:
    1
    2
    3
    
    SELECT t2.* FROM tabelle2 AS t2
    LEFT JOIN (tabelle1 AS t1) ON (t2.id = t1.aid)
    WHERE t2.id IS NULL;
    kramoo bedankt sich. 

  3. #3
    Avatar von kramoo
    kramoo kramoo ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Ort
    Österreich
    Beiträge
    57
    Zitat Zitat von CPoly Beitrag anzeigen
    Naiv und unperformant:
    Code sql:
    1
    
    SELECT * FROM tabelle2 WHERE id NOT IN (SELECT aid FROM tabelle1)

    Besser:
    Code sql:
    1
    2
    3
    
    SELECT t2.* FROM tabelle2 AS t2
    LEFT JOIN (tabelle1 AS t1) ON (t2.id = t1.aid)
    WHERE t2.id IS NULL;
    Super Danke das funktioniert schon gut!
    Jetzt müsste ich die Abfrage noch etwas erweitern.

    Code sql:
    1
    
    SELECT * FROM backlink WHERE  linkart = 'avz' AND avzid NOT IN (SELECT id FROM avz)

    linkart kann verschieden wörter bekommen.
    Die Abfrage funktioniert aber nicht so? Wo habe ich da noch den Fehler?
     

  4. #4
    Avatar von kramoo
    kramoo kramoo ist offline Mitglied Silber
    Registriert seit
    Nov 2010
    Ort
    Österreich
    Beiträge
    57
    Zitat Zitat von kramoo Beitrag anzeigen
    Super Danke das funktioniert schon gut!
    Jetzt müsste ich die Abfrage noch etwas erweitern.

    Code sql:
    1
    
    SELECT * FROM backlink WHERE  linkart = 'avz' AND avzid NOT IN (SELECT id FROM avz)

    linkart kann verschieden wörter bekommen.
    Die Abfrage funktioniert aber nicht so? Wo habe ich da noch den Fehler?
    OH mein Fehler. Hatte noch einen Denkfehler !
    Funktioniert jetzt! Danke
     

Ähnliche Themen

  1. Abfrage über zwei Tabellen
    Von milchkuh74 im Forum Relationale Datenbanksysteme
    Antworten: 12
    Letzter Beitrag: 09.04.08, 15:26
  2. Abfrage über zwei Tabellen
    Von FrankWST im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 02.11.07, 18:10
  3. MySQL-Abfrage über zwei Tabellen und zwei Zeilen
    Von bnc-bang im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 13.04.07, 20:43
  4. Antworten: 3
    Letzter Beitrag: 12.04.07, 18:19
  5. sql abfrage über zwei tabellen
    Von boelkstoff im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 26.06.04, 17:40