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

Łączenie dwóch tabel w MySQL

SELECT list_items.text, list_items.item_id, SUM(votes.vote=1) AS upvote, SUM(votes.vote=-1) AS downvote
FROM list_items
LEFT JOIN votes ON list_items.item_id = votes.item_id

Trudną częścią są dwa wywołania sum — jeśli pole głosowania to 1 , a następnie vote=1 co daje wartość TRUE, którą MySQL rzuci na liczbę całkowitą 1 dla celów SUM(). Jeśli nie jest 1, to otrzymuje wartość false, która jest rzutowana na 0 i nie robi nic dla SUM().

ups, musi mieć

GROUP BY list_items.item.id

na końcu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Przenieś tabelę z jednej bazy danych do drugiej w MySQL

  2. MySQL otrzymuje brakujące identyfikatory z tabeli

  3. Nieznana kolumna w „klauzula o posiadaniu”

  4. Kiedy używać MyISAM i InnoDB?

  5. BŁĄD 1878 (HY000):Błąd tymczasowego zapisu pliku