>a me serve solo aggiungere al tutto, una colonna, in cui visualizzo
>INST_EQP.CODE dove WORK_ORDER.ID_FL = INST_EQP.ID_FL .... come
>dovrei scrivere la query?
La query è sintatticamente corretta, ma eseguendo una INNER JOIN con INST_EQP verranno restituite solo le righe che soddisfano la condizione WORK_ORDER.ID_FL = INST_EQP.ID_FL, filtrando quelle che non la soddisfano.
Se tu vuoi restituire tutte le righe dalla precedente JOIN anche nel caso in cui la condizione WORK_ORDER.ID_FL = INST_EQP.ID_FL non venga soddisfatta, devi ricorrere ad una LEFT OUTER JOIN: in questo caso la colonna INST_EQP.CODE sarà valorizzata a NULL.
Riscriviamo in modo un po' più ordinato il tutto:
SELECT
WO.ID_WO AS '1'
, WO.START_DATE AS '2'
, WO.SHORT_DESCR AS '3'
, WO.NAME AS '4'
, IE.CODE AS '5'
FROM WORK_ORDER AS WO
INNER JOIN FL
ON WO.ID_FL = FL.ID_FL
INNER JOIN WO_STATE AS WS
ON WO.ID_WO_STATE = WS.ID_WO_STATE
LEFT JOIN INST_EQP AS IE
ON WO.ID_FL = IE.ID_FL
WHERE FL.CODE_PREFIX = 'ICT_IT/PDR/FCSITE/FC01A'
AND WO.ID_INEQP = -1;
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org