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

Mysql wysyła zapytania do dwóch tabel i pobiera dane z uwzględnieniem daty lub użytkownika

To wystarczy:

SELECT 
    u.lastname AS `User`
  , SUM(CASE WHEN activitydate='2011-04-01' THEN time ELSE 0 END) AS `2011-04-01`
  , SUM(CASE WHEN activitydate='2011-04-02' THEN time ELSE 0 END) AS `2011-04-02`
  , ...
  , SUM(CASE WHEN activitydate='2011-04-30' THEN time ELSE 0 END) AS `2011-04-30`
FROM Hours h
  JOIN Users u
    ON h.userid = u.userid
WHERE h.activitydate BETWEEN '2011-04-01' AND '2011-04-30'
GROUP BY h.userid
ORDER BY h.userid



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. wartość przycisku opcji dodawania

  2. Jak debugować przekroczony limit czasu oczekiwania blokady na MySQL?

  3. Zapytanie o aktywne rekordy Codeignitera zajmuje zbyt dużo czasu, aby wczytać dane z bazy danych

  4. Dlaczego mysql_escape_string jest wysoce odradzane?

  5. Mój wybór sql z wielu tabel a dołączanie