php - MySQL:外连接和 COUNT()

标签 php mysql

我有“海报”表、“评论”表和“预告片”表。每个表都与一个 movieID 列连接,但每个表对于某些 movieID 可以为空:

 ++ posters_table +++      ++ reviews_table ++      ++ trailers_table ++

--itemID--+--filename-    --itemID--+--review--    --itemID--+--trailer
----------------------    ---------------------    ---------------------
----001---+--0012343--    ----004---+--blalba--    ----002---+--002345--
----001---+--0013331--    ----004---+--xlalxa--    ----005---+--005434--
----002---+--0020052--    ----005---+--zlalza--    ----001---+--005335--

我想要 COUNT() 指定 movieID 的海报、评论和预告片的数量,如果没有可用的,则获取 0。

因此,如果我想计算 movieID = 001,我会得到:['posters'] = 2/['reviews'] = 0 和 ['trailers'] = 1(例如)

有人可以发布 SQL 查询来执行此操作吗?

最佳答案

select
    (select count(*) from posters_table  where itemId = ?) as posters,
    (select count(*) from reviews_table  where itemId = ?) as reviews,
    (select count(*) from trailers_table where itemId = ?) as trailers;

关于php - MySQL:外连接和 COUNT(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3405564/

相关文章:

php - 当用户第一次访问我的网站时制作 css 样式的文本

javascript - 如何将 html 从当前页面附加到另一个页面?

sql - 收集 mysql 统计信息

php - 与您的 MySQL 服务器版本相对应的手册,以便在附近使用正确的语法

mysql - 如何使用 Google Compute Engine 保持持久 SQL 代理 Unix 套接字

mysql - 使用 Laravel 对计算列执行查询

php - 如果列不为 NULL,如何更新表中的列?

javascript - 无法从另一个页面获取值

php - Laravel Envoyer 存储同步

mysql - 什么是最好的查询方式?