sql >> Database teknologi >  >> RDS >> Mysql

Hvordan vælger jeg flere værdier i samme kolonne?

Hvad med at bruge IN i stedet

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

Grunden til, at ingen værdier returneres, er på grund af denne sektion

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

family kan ikke være alle 3 værdier på én gang, men det kan være 1 af de 3 værdier.

Det er derfor, du ville bruge IN.

En anden måde at se det på ville være at bruge OR, men det bliver virkelig langvarigt.



  1. Sådan udtrækkes eller konverteres tidsdata fra en streng i SQL Server

  2. Opret C# klasser baseret på MySQL tabel

  3. Aktiver Database Mail i SQL Server (T-SQL)

  4. MySQLi Query returnerer værdi i tilfælde af Select uden matchende rækker