B.Hauser
27-04-19, 16:14
Verschachtelte Sub-Selects sind selten eine gute Idee.
Irgendeiner der verschachtelten Sub-Select liefert unter irgendeiner Konstellation einen krummen Wert.
ggf. liefern auch alle 3 Felder NULL-Werte und ohne Cast weiß der Optimizer nicht in welchen Datentypen er den NULL-Wert konvertieren soll.
Mit LEFT OUTER JOINS sollte das Ganze entwirrt und sogar performater werden.
Etwa so:
Select ...
Coalesce(NULLIF(TBL1BEZ, ''), ART2BEZ, ARTBZ1, ARTBZ2) as BEZ
FROM TABLE1 A INNER JOIN TABLE2 ON TBL1CDE = TBL2ACD
left outer Join ART2P on Tbl1IMP = PETIMP and Tbl1TNR = PETTNR
left outer join ART1P on Tbl1TNR = ARTNR
Birgitta
Irgendeiner der verschachtelten Sub-Select liefert unter irgendeiner Konstellation einen krummen Wert.
ggf. liefern auch alle 3 Felder NULL-Werte und ohne Cast weiß der Optimizer nicht in welchen Datentypen er den NULL-Wert konvertieren soll.
Mit LEFT OUTER JOINS sollte das Ganze entwirrt und sogar performater werden.
Etwa so:
Select ...
Coalesce(NULLIF(TBL1BEZ, ''), ART2BEZ, ARTBZ1, ARTBZ2) as BEZ
FROM TABLE1 A INNER JOIN TABLE2 ON TBL1CDE = TBL2ACD
left outer Join ART2P on Tbl1IMP = PETIMP and Tbl1TNR = PETTNR
left outer join ART1P on Tbl1TNR = ARTNR
Birgitta