Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Nối hai bảng trong 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

Phần khó là hai lệnh gọi tổng - Nếu trường biểu quyết là 1 , sau đó vote=1 đánh giá là TRUE, MySQL sẽ truyền thành số nguyên 1 cho mục đích của hàm SUM (). Nếu nó không phải là 1, thì nó sẽ đánh giá là false, được chuyển thành 0 và không có tác dụng gì đối với SUM ().

rất tiếc, cần phải có

GROUP BY list_items.item.id

ở phần cuối.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách mở rộng Joomla! vào tệp PHP tùy chỉnh của tôi

  2. MySQL:Tóm tắt tất cả số hàng của bảng trong một truy vấn duy nhất

  3. ngủ đông lỗi truy vấn SQL gốc

  4. Làm thế nào để sử dụng regex trong MySQL?

  5. MySQL / Lỗi tệp ghi (Mã lỗi 28)