sql >> Databáze >  >> RDS >> Mysql

Jak mohu vybrat více hodnot ve stejném sloupci?

Co takhle místo toho použít 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`;

Důvodem, proč nejsou vráceny žádné hodnoty, je tato sekce

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

family nemohou být všechny 3 hodnoty najednou, ale může to být 1 ze 3 hodnot.

Proto byste použili IN.

Dalším způsobem, jak se na to podívat, by bylo použít OR, ale to je opravdu zdlouhavé.



  1. efektivní způsob, jak otestovat, zda existuje řádek tabulky

  2. MySQL Error 1 (HY000) Problém s vytvářením souboru Errcode 2

  3. Problémy s připojením Windows 7 PHP MySQL

  4. Jak zjistit, zda se index mysql zcela vejde do paměti