sql >> Database >  >> RDS >> Mysql

Hoe selecteer ik meerdere waarden in dezelfde kolom?

Hoe zit het met het gebruik van IN plaats daarvan

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

De reden waarom er geen waarden worden geretourneerd, is vanwege deze sectie

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

family kunnen niet alle 3 waarden tegelijk zijn, maar het kan wel 1 van de 3 waarden zijn.

Daarom zou je IN gebruiken.

Een andere manier om ernaar te kijken is om OR te gebruiken, maar dat wordt erg langdradig.



  1. Welke privileges zijn er in MySQL nodig om een ​​trigger uit te voeren?

  2. Voeg een database toe in SQLite

  3. Oracle 11g op Mac OS X

  4. Hoe COUNT() werkt in SQL Server