grazie, ho usato IFNULL:
codice:
DELIMITER //
DROP PROCEDURE IF EXISTS analisi_orfo //
CREATE PROCEDURE analisi_orfo(
IN data_from VARCHAR(10),
IN data_to VARCHAR(10),
IN fornitore INT,
IN articolo INT,
IN stagione VARCHAR(15)
)
NO SQL
BEGIN
SET @query = CONCAT("SELECT IFNULL(SUM(or_qta), 0) qta,
IFNULL(SUM((or_prezzo_acquisto - (or_prezzo_acquisto * or_sconto / 100)) * or_qta), 0) netto
FROM orfo_righe
INNER JOIN articoli_gest ON artgest_id = or_tipo_articolo
INNER JOIN orfo ON orfo_numero = or_bolla
WHERE orfo_fornitore = ", fornitore, " "
);
IF articolo != 0 THEN
SET @query = CONCAT(@query, "AND or_tipo_articolo = ", articolo, " ");
END IF;
IF stagione != 'ND' THEN
SET @query = CONCAT(@query, "AND artgest_desqual2 = '", stagione, "' ");
END IF;
SET @query = CONCAT(@query, "AND DATE(orfo_data) BETWEEN DATE('", data_from, "') AND DATE('", data_to, "')");
PREPARE comando FROM @query;
EXECUTE comando;
DEALLOCATE PREPARE comando;
END
PS: ottimo link, non conoscevo quel sito, me lo segno!