Mysql
 sql >> база данни >  >> RDS >> Mysql

Обединяване на две таблици в 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

Трудната част са двете извиквания на суми - Ако полето за гласуване е 1 , след което vote=1 което се оценява на TRUE, което MySQL ще приведе към цяло число 1 за целите на SUM(). Ако не е 1, тогава се оценява на false, което се прехвърля на 0 и не прави нищо за SUM().

опа, трябва да има

GROUP BY list_items.item.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. Обща грешка:1005 Не мога да създам таблица с помощта на Laravel Schema Build и външни ключове

  2. Изтрийте всички редове с изключение на първия N от таблица с една колона

  3. изчисляване на общата сума на всички цифри в колона

  4. Как да зададете изчакване за MySQL заявка с помощта на C API

  5. Изпратете текущите GPS координати към mySQL базата данни с помощта на API на google maps