Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да избера няколко стойности в една и съща колона?

Какво ще кажете да използвате 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`;

Причината, поради която не се връщат стойности, е този раздел

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

family не може да бъде всичките 3 стойности наведнъж, но може да е 1 от 3-те стойности.

Ето защо бихте използвали IN.

Друг начин да го погледнете е да използвате ИЛИ, но това става много дълго.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP MySQL INSERT се проваля поради уникално ограничение

  2. MYSQL импортира данни от csv с помощта на LOAD DATA INFILE

  3. mariadb Regexp някога се връща празен в съхранената процедура

  4. cakephp 3.0 получава стойности в две колони като една

  5. АКТУАЛИЗИРАНЕ Същият ред след АКТУАЛИЗИРАНЕ в Trigger