willy55 ha scritto:
Nel linguaggio SQL, vedi l'operazione di LEFT JOIN per la SELECT:
https://www.w3schools.com/sql/sql_join_left.as
https://www.tutorialspoint.com/sql/sql-left-joins.ht
Si avevo già provato, però non ottengo il risultato sperato.
Faccio un'esempio della mia situazione:
Select sulle giacenze:
SELECT CODART,LOTTO
FROM GIACENZE
WHERE GIACENZE.CODART = '02622882-03282'
Output
CODART------------| LOTTO
02622882-03282--| 9000002246
02622882-03282--| 9000002247
02622882-03282--| 9000002248
02622882-03282--| 9000002249
02622882-03282--| 9000002250
02622882-03282--| 9000002259
02622882-03282--|
Select sugli ordini
SELECT CODART,NUMORD
FROM ORDINI
WHERE ORDINI.CODART = '02622882-03282'
Output
CODART------------| NUMORD
02622882-03282--| 9914900020
02622882-03282--| 9914900010
PROVA CON LEFT JOIN
SELECT CODART,LOTTO,NUMORD
FROM GIACENZE
LEFT JOIN ORDINI ON ORDINI.CODART = GIACENZE.CODART
WHERE GIACENZE.CODART = '02622882-03282'
Output
CODART------------| LOTTO--------| NUMORD
02622882-03282--| 9000002246--| 9914900020
02622882-03282--| 9000002246--| 9914900010
02622882-03282--| 9000002247--| 9914900020
02622882-03282--| 9000002247--| 9914900010
02622882-03282--| 9000002248--| 9914900020
02622882-03282--| 9000002248--| 9914900010
02622882-03282--| 9000002249--| 9914900020
02622882-03282--| 9000002249--| 9914900010
02622882-03282--| 9000002250--| 9914900020
02622882-03282--| 9000002250--| 9914900010
02622882-03282--| 9000002259--| 9914900020
02622882-03282--| 9000002259--| 9914900010
02622882-03282--| ----------------| 9914900020
02622882-03282--| ----------------| 9914900010
INVECE IL RISULTATO CHE VORREI E' IL SEGUENTE :
CODART------------| LOTTO--------| NUMORD
02622882-03282--| 9000002246--| 9914900010
02622882-03282--| 9000002247--| 9914900020
02622882-03282--| 9000002248--| ----------------
02622882-03282--| 9000002249--| ----------------
02622882-03282--| 9000002250--| ----------------
02622882-03282--| 9000002259--| ----------------
02622882-03282--| ----------------| ----------------