Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wybrać wiele wartości w tej samej kolumnie?

Może zamiast tego użyć 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`;

Powodem, dla którego nie są zwracane żadne wartości, jest ta sekcja

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

family nie może mieć wszystkich 3 wartości naraz, ale może to być 1 z 3 wartości.

Właśnie dlatego użyjesz IN.

Innym sposobem spojrzenia na to byłoby użycie OR, ale to naprawdę długo się męczy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - zaznaczanie w pobliżu punktu przestrzennego

  2. Jak połączyć się z bazą danych MySQL lub MariaDB

  3. MySQL – Naprawa – Błąd – Twoje hasło nie spełnia aktualnych wymagań politycznych

  4. 3 sposoby na „odheksowanie” ciągu w MySQL

  5. Konwertowanie wartości ujemnych z FROM_UNIXTIME