Entwickler-Ecke

Datenbanken - Bedingter Join?


>M@steR< - Mo 03.12.12 22:12
Titel: Bedingter Join?
Gelöscht


jfheins - Mo 03.12.12 22:49

Du kannst da möglicherweise was über die Spalten machen - in etwa so:


SQL-Anweisung
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
select
log.ID,
Datum,
Teilname,
CASE WHEN log.ort=0
     THEN "Lager"
     ELSE log.ort
     END AS Ort

from myschema.log
inner join myschema.teile on (log.Werkzeug=teile.ID)
inner join myschema.mitarbeiter on (log.Ort=mitarbeiter.ID)

Du darfst dann natürlich keine Mitarbeiter.ID gleich 0 haben - aber sowas in der Richtung könnte gehen :-)

Edit: Hatte das erst mit iif, aber MySQL kennt das wohl nicht. Also auf case... geändert.


bummi - Di 04.12.12 00:38

ich kann daneben liegen da ich die Struktur (und mySQL) nicht\kaum kenne

SQL-Anweisung
1:
2:
3:
4:
select log.ID, Datum, Teilname, CASE When mitarbeiter.ID is null then 'lager' else `name` end as Name
from myschema.log
inner join myschema.teile on (log.Werkzeug=teile.ID)
Left join myschema.mitarbeiter on (log.Ort=mitarbeiter.ID)


könnte auch

SQL-Anweisung
1:
2:
3:
4:
select log.ID, Datum, Teilname, CASE log.ort When 0 then 'lager' else `name` end as Name
from myschema.log
inner join myschema.teile on (log.Werkzeug=teile.ID)
Left join myschema.mitarbeiter on (log.Ort=mitarbeiter.ID)



sein


>M@steR< - Di 04.12.12 01:01

Gelöscht