Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie wähle ich mehrere Werte in derselben Spalte aus?

Wie wäre es stattdessen mit 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`;

Der Grund, warum keine Werte zurückgegeben werden, liegt an diesem Abschnitt

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

family Es können nicht alle 3 Werte gleichzeitig sein, aber es könnte einer der 3 Werte sein.

Deshalb würden Sie IN.

verwenden

Eine andere Möglichkeit, es zu betrachten, wäre die Verwendung von ODER, aber das wird wirklich langatmig.