Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment sélectionner plusieurs valeurs dans la même colonne ?

Que diriez-vous d'utiliser IN à la place

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`;

La raison pour laquelle aucune valeur n'est renvoyée est due à cette section

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

family ne peut pas être les 3 valeurs à la fois, mais il peut s'agir de l'une des 3 valeurs.

C'est pourquoi vous utiliseriez IN.

Une autre façon de voir les choses serait d'utiliser OU, mais cela devient très long.