Mysql
 sql >> Database >  >> RDS >> Mysql

Come faccio a selezionare più valori nella stessa colonna?

Che ne dici di usare invece IN

SELECT  `salesorder`,
        `masterproduct`,
        `family`,
        `birthstamp`,
        `duedate`, 
        COUNT( * ) AS `total` 
FROM    `report` 
WHERE   `birthstamp` BETWEEN '$startDT' AND '$endDT' 
AND     `family` IN ('Software_1Y','XI_1Y','PI_1Y')
GROUP BY    `salesorder`,
            `masterproduct`,
            `family`,
            `duedate`;

Il motivo per cui non vengono restituiti valori è dovuto a questa sezione

AND `family` = 'Software_1Y' 
AND `family = 'XI_1Y' 
AND `family` = 'PI_1Y'

family non può essere tutti e 3 i valori contemporaneamente, ma potrebbe essere 1 dei 3 valori.

Ecco perché useresti IN.

Un altro modo per vederlo sarebbe usare OR, ma diventa davvero prolisso.