mysql SELECT über id zusammenfassen

Superior8881

Mitglied
Moin,

gibt es hier eine Verkürzung?
PHP:
$data = $this -> select(
    "SELECT daten_a,
                   daten_b,
                   daten_c
       FROM tabelle_a,
                  tabelle_b,
                  tabelle_c
    WHERE tabelle_a.id = $id
        AND tabelle_a.id = tabelle_b.id"
);

Also ungefähr so:
PHP:
$data = $this -> select(
    "SELECT daten_a,
                   daten_b,
                   daten_c
       FROM tabelle_a,
                  tabelle_b,
                  tabelle_c
    WHERE tabelle_a.id = $id = tabelle_b.id"
);

Gruß und Danke für Eure Antworten

Markus
 
Und was ist mit tabelle_c?
Und deine "Abkürzung" in Zeile 8 ist mehrdeutig.
Um dir genau zu antworten, bräuchte ich ein "das habe ich, das will ich"

Das einzige, was auch nur annähernd in die Nähe kommt wäre ein
PHP:
WHERE $id IN (tabelle_a.id, tabelle_b.id)
Und bei SQL sollte man generell keine Abkürzungen verwenden. Lieber sauber mit korrekten JOINS schreiben
 
SQL:
WHERE $id IN (tabelle_a.id, tabelle_b.id)
ist nicht gut. Das ist ein OR. Ich glaube er will ein AND.
Und nein, vergiss die Abkürzung. Gibt es mWn nicht. Deine Zeile bewirkt: Wenn $id=b.id dann uss a.id TRUE sein. Aber a.ID ist eine Zahl und kein Boolean.
Und wozu soll das gut sein?

Das einzige was du machen könntest wäre ein INNER JOIN
SQL:
SELECT a.daten_a,
    b.daten_b,
    c.daten_c
FROM 
    ( 
        tabelle_a a
        inner join tabelle_b b on a.id = b.id
    ),
    tabelle_c c
WHERE a.id = $id

Ps: tabelle_c ist nicht verknüpft!
 

Neue Beiträge

Zurück