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

Porovnání INT bez příkazu WHERE

Zkuste toto:

SELECT
  emp.name AS '## Name',
  (SELECT COUNT(*)     
   FROM project p JOIN employee e ON p.number = e.number
   WHERE e.name = emp.name 
     AND datediff(str_to_date(p.dateEnded, '%Y-%m-%d'), e.dateStarted) = 0
   ) AS 'Day 0'
  ,(SELECT COUNT(*)
    FROM project p JOIN employee e ON p.number = e.number
    WHERE e.name = emp.name 
      AND datediff(str_to_date(p.dateEnded, '%Y-%m-%d'), e.dateStarted) = 1
   ) AS 'Day 1'
  ,(SELECT COUNT(*)
    FROM project p JOIN employee e ON p.number = e.number
    WHERE e.name = emp.name 
      AND datediff(str_to_date(p.dateEnded, '%Y-%m-%d'), e.dateStarted) = 2
   ) AS 'Day 2'
  ,(SELECT COUNT(*)
    FROM project p JOIN employee e ON p.number = e.number
    WHERE e.name = emp.name 
      AND datediff(str_to_date(p.dateEnded, '%Y-%m-%d'), e.dateStarted) = 3
   ) AS 'Day 3'
  ,(SELECT COUNT(*)
    FROM project p JOIN employee e ON p.number = e.number
    WHERE e.name = emp.name 
      AND datediff(str_to_date(p.dateEnded, '%Y-%m-%d'), e.dateStarted) = 4
   ) AS 'Day 4'
  ,(SELECT COUNT(*)
    FROM project p JOIN employee e ON p.number = e.number
    WHERE e.name = emp.name 
      AND datediff(str_to_date(p.dateEnded, '%Y-%m-%d'), e.dateStarted) >= 5
   ) AS 'Day 5'
FROM employee emp
GROUP BY emp.name

Viz Ukázka SQL Fiddle (- na základě poskytnutých informací učinili nějaké předpoklady o vašich datech).



  1. Flutter připojení k databázi na serveru

  2. Jak vložíte konstantu PHP do dotazu SQL?

  3. Proč nemůže easy_install najít MySQLdb?

  4. Použití funkce Oracle to_date pro řetězec data s milisekundami