Hallo Vladislav,
Vladislav Vorobiev wrote:
Damit erreiche ich was was ich moechte, nur fuer einen Fall. Ich
brauche aber eigentlich sowas
INNER JOIN Brangen ON (Brangen.id) = (Firmen.brange1 or Firmen.brange2
or Firmen.brange3) (Funktioniert nicht)
Also ich möchte alle Firmen anzeigen die in der Brange1 oder 2 oder3
sind.
Richtiger Ansatz, falsche Syntax.
INNER JOIN Brangen
ON (Brangen.id = Firmen.brange1
OR Brangen.id = Firmen.brange2
OR Brangen.id = Firmen.brange3)
Das würde wohl gehen. Ich rate dir dennoch, dein Datenbankdesign zu
überdenken und die Tabellen zu normalisieren. Die n:m verknüpfung
bildest du am besten über eine weitere Tabelle ab:
| Firmen |
----------------
id
| Brangen | (meintest du eigentlich Branche?)
-------------------
| id | bez
| Firma_Brange |
----------------------------
| firma_id | brange_id |
Abfrage dann wie folgt:
SELECT blabla FROM Firmen
INNER JOIN Firma_Brange ON Firmen.id = Firma_Brange.firma_id
INNER JOIN Brangen ON Brangen.id = Firma_Brange.brange_id
WHERE brange_id IN (1, 2, 3)
Wie kann man es mit Joints lösen?
Es empfiehlt sich, bei Datenbankabfragen auf Marihuanakonsum zu verzichten.
Gruß
Nils