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

Добавяне на сума от 2 различни таблици

Настоятелно препоръчвам нормализиране вашите данни, както предложиха други.

Въз основа на текущия си дизайн можете да използвате FIND_IN_SET за да постигнете желания резултат.

SELECT M.id, M.name, COUNT(*) totalFROM членове M INNER JOIN videos V ON FIND_IN_SET(M.name,V.members)> 0GROUP BY M.nameORDER BY M.id 

Вижте демонстрация

Изпълнявайки тази заявка върху дадения ви набор от данни, ще получите резултат като по-долу:

<предварителен код>| ID | име | общо ||----|-------|-------|| 1 | Том | 2 || 2 | Боб | 2 || 3 | Зак | 3 || 4 | Дан | 3 || 5 | Кейси | 2 |

Трябва да се прочете

Наистина ли е толкова лошо съхраняването на разделен списък в колона на база данни?

Още

Ето как вашите видеоклипове таблицата ще изглежда така, ако нормализирате данните си:

видеоклипове

id member_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. замяна на mysql_num_rows да препоръчате?

  2. PHP 5:Какъв DAL използвате?

  3. PHP If else изявление, че записът в базата данни е празен, ще покаже картина по подразбиране

  4. Проблем с връзката с Ruby on rails

  5. Еквивалент на клауза GroupBy и Having в релационна алгебра