Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como seleciono vários valores na mesma coluna?


Que tal usar IN em vez disso
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`;

A razão pela qual nenhum valor é retornado é por causa desta seção
AND `family` = 'Software_1Y' 
AND `family = 'XI_1Y' 
AND `family` = 'PI_1Y'

family não pode ser todos os 3 valores de uma vez, mas pode ser 1 dos 3 valores.

É por isso que você usaria IN.

Outra maneira de ver isso seria usar OR, mas isso fica muito prolixo.