LEFT JOIN ALS neue Spalte?

Ich versuche zu tun, mehrere LEFT JOIN auf die gleiche Spalte einer Tabelle.Muss ich LEFT JOIN "Tabelle2.Worte" mit "Tabelle1.Farbe" und "Tabelle2.Worte" mit "Tabelle1.Lebensmittel". Wie mache ich das? und kann ich es tun, indem der linke sich "Tabelle2.Worte," eine neue Spalte?

Mein SQL-code:

SELECT table1.id, table1.color, table2.words
FROM table1
LEFT JOIN table2 ON table1.color=table2.id
LEFT JOIN table2 ON table1.food=table2.id 

Tabelle1:

--------------------------------
| id     | color    | food     |
--------------------------------
| 1      | 1        | 3        |
| 2      | 1        | 4        |
| 3      | 1        | 3        |
| 4      | 1        | 4        |
| 5      | 2        | 3        |
| 6      | 2        | 4        |
| 7      | 2        | 3        |
| 8      | 2        | 4        |
--------------------------------

Tabelle2:

---------------------------
| id     | words          |
---------------------------
| 1      | yellow         |
| 2      | blue           |
| 3      | cookies        |
| 4      | milk           |
---------------------------

, Was Im Versuch, Ausgabe:

----------------------------------------
| id     | colorname    | foodname     |
----------------------------------------
| 1      | yellow       | cookies      |
| 2      | yellow       | milk         |
| 3      | yellow       | cookies      |
| 4      | yellow       | milk         |
| 5      | blue         | cookies      |
| 6      | blue         | milk         |
| 7      | blue         | cookies      |
| 8      | blue         | milk         |
----------------------------------------

Hinweis: ich kann nicht ändern, die Tabellen-Strukturen.

  • Aus den Daten, die Sie präsentieren, sieht es aus wie diese kann getan werden, mit geraden, inner joins -- sind Links Verknüpfungen wirklich notwendig?
Schreibe einen Kommentar