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

Kolumna MySQL Sum IF ID jest w innym zapytaniu tabeli

Myślę, że jest to dość proste łączenie, sumowanie i grupowanie przez:

  SELECT t.r_id, SUM(t.work) work_sum
    FROM tasks t
    JOIN info i
      ON i.id = t.r_id
     AND i.date BETWEEN xxx AND yyy
GROUP BY t.r_id

Jeśli chcesz mieć wartość null work_sum dla zadań bez informacji z tego zakresu:

   SELECT t.r_id, SUM(t.work) work_sum
     FROM tasks t
LEFT JOIN info i
       ON i.id = t.r_id
      AND i.date BETWEEN xxx AND yyy
 GROUP BY t.r_id

Jeśli chcesz 0 work_sum dla zadań bez informacji w tym zakresie:

   SELECT t.r_id, COALESCE(SUM(t.work),0) work_sum
     FROM tasks t
LEFT JOIN info i
       ON i.id = t.r_id
      AND i.date BETWEEN xxx AND yyy
 GROUP BY t.r_id



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pobierz wszystkie rekordy rodziców/dzieci z bazy danych na Laravel (dane hierarchiczne)

  2. Wybieranie ciągłego bloku rekordów w mysql

  3. Jak zintegrować ElasticSearch z MySQL?

  4. Jak utworzyć unikalny losowy identyfikator liczby całkowitej dla klucza podstawowego dla tabeli?

  5. Usuń z dwóch tabel w jednym zapytaniu