sql >> Databáze >  >> RDS >> Mysql

Sčítání součtu ze 2 různých tabulek

Důrazně doporučuji normalize vaše data, jak navrhli ostatní.

Na základě vašeho aktuálního návrhu můžete použít FIND_IN_SET abyste dosáhli požadovaného výsledku.

SELECT 
 M.id,
 M.name,
 COUNT(*) total
FROM members M 
INNER JOIN videos V ON FIND_IN_SET(M.name,V.members) > 0
GROUP BY M.name
ORDER BY M.id

Zobrazit ukázku

Spuštěním tohoto dotazu na danou datovou sadu získáte výstup jako níže:

| id |  name | total |
|----|-------|-------|
|  1 |   Tom |     2 |
|  2 |   Bob |     2 |
|  3 |  Zack |     3 |
|  4 |   Dan |     3 |
|  5 | Casey |     2 |

Povinná četba

  1. Jak vybrat dva sloupce jako jeden?

  2. Je efektivnější oddělit velká a malá související data ve sloupci tabulky SQL?

  3. Spouštění programu Java na základě aktualizací databáze a časového intervalu

  4. Příklady JSON_MODIFY() v SQL Server (T-SQL)