tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von bn
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
393
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Microhome
    Microhome Microhome ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    Berlin
    Beiträge
    351
    Hallo zusammen,

    ich möchte gern eine Abfrage über drei Tabellen via MySQL in einer Abfrage ausführen.

    Tabelle 1: ads
    Spalten: id, type

    Tabelle 2: ads_p
    Spalten: id, position, what

    Tabelle 3: ads_j
    Spalten: id, position, what

    Alle IDs sind in Tabelle 1 gespeichert. Allerdings gibt es nun eben zu den jeweiligen IDs entweder einen Eintrag in der Tabelle ads_p oder in der Tabelle ads_j.


    Über folgendes Statement bekomme ich die Einträge von ads und ads_p, aber wie kann ich nun auch noch die der 3. Tabelle hinzufügen?

    Code :
    1
    2
    3
    4
    5
    6
    
    SELECT
        aid,
        position,
        what
    FROM ads
    NATURAL JOIN ads_p


    Vielen Dank für eure Hilfe!!
     
    Lösungsvorschlag:
    Wenn es mit dem mysql_query(...); Probleme gibt, pack ein die(mysql_error()); dahinter und guck dir den MySQL-Fehler an!

  2. #2
    Avatar von bn
    bn bn ist offline Mitglied Brokat
    Registriert seit
    Oct 2002
    Ort
    Berlin
    Beiträge
    395
    Hallo,

    eine Abfrage mittels UNION würde sich anbieten. Darüber hinaus hast du vergessen, den Foreign Key einzubeziehen.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    (    
        SELECT  id,
                position,
                what
        FROM    ads
        JOIN    ads_p
                USING(id)
    )
    UNION ALL
    (
        SELECT  id,
                position,
                what
        FROM    ads
        JOIN    ads_j
                USING(id)
    )

    grüße BN
    Microhome bedankt sich. 
    Eine Lösung hätte ich schon, aber sie passt nicht zum Problem.

  3. #3
    Avatar von Microhome
    Microhome Microhome ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    Berlin
    Beiträge
    351
    Perfekt, so funktioniert's. Danke dir!
    Geändert von Microhome (21.12.11 um 20:19 Uhr)
     
    Lösungsvorschlag:
    Wenn es mit dem mysql_query(...); Probleme gibt, pack ein die(mysql_error()); dahinter und guck dir den MySQL-Fehler an!

Ähnliche Themen

  1. MySQL - Abfrage über drei Tabellen
    Von MasterDS im Forum Relationale Datenbanksysteme
    Antworten: 10
    Letzter Beitrag: 24.08.09, 22:09
  2. DELETE über drei Tabellen?
    Von Immi im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 22.05.07, 16:23
  3. UPDATE über drei Tabellen
    Von the_lorn im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 13.07.06, 08:32
  4. Abfrage über drei Tabellen
    Von Planet_Mars im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 17.02.05, 08:36
  5. INSERT über drei Tabellen
    Von MichaelS im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 05.06.03, 14:30