ciao!
ho un problema con NOT EXIXTS.
in pratica estraggo tutti gli articoli che hanno dt_tipo_fk = 1 (più altre clausole).
però non devo estrarre quelli che hanno anche dt_tipo_fk = 7.
ho provato cosi:
codice:
SELECT
magazzino_codice,
magazzino_colore_codice,
magazzino_taglia,
magazzino_descrizione_ita,
magazzino_colore_descrizione_ita,
tipo_descrizione,
dtr_qta,
(dtr_prezzo * dtr_qta) sum_imp,
dtr_sconto,
dtr_sconto_imp,
(dtr_prezzo - (dtr_prezzo * dtr_sconto) / 100 - dtr_sconto_imp) sum_imp_netto,
dt_invio
FROM st_documenti_righe
INNER JOIN st_documenti_testate ON dt_id = dtr_testata_fk
INNER JOIN st_magazzino ON magazzino_nmat = dtr_articolo_fk
INNER JOIN st_documenti_tipi ON tipo_id = dt_tipo_fk
WHERE magazzino_negozio_fk = 'N050'
AND dt_negozio_fk = 'N050'
AND magazzino_collezione = 'C195'
AND dt_tipo_fk = 1
AND dt_chiuso = 1
AND CAST(dt_creazione AS DATE) BETWEEN '2019-08-26' AND '2019-09-02'
AND NOT EXISTS (
SELECT * FROM st_documenti_righe sdr2
INNER JOIN st_documenti_testate sdt2 ON sdt2.dt_id = sdr2.dtr_testata_fk
INNER JOIN st_magazzino stm2 ON stm2.magazzino_nmat = sdr2.dtr_articolo_fk
WHERE sdt2.dt_negozio_fk = 'N050'
AND stm2.magazzino_negozio_fk = 'N050'
AND sdt2.dt_tipo_fk = 7
AND sdt2.dt_chiuso = 1
AND stm2.magazzino_codice = magazzino_codice
AND stm2.magazzino_colore_codice = magazzino_colore_codice
AND stm2.magazzino_taglia = magazzino_taglia
)
ORDER BY magazzino_codice, magazzino_colore_codice
non ottengo errori, però ho sempre zero records.
invece ne dovrei avere 9, 10 meno lo "stornato".
la subselect ne estrae solo 1, e presa da sola è corretta.