MySql 从第 3 个表中获取计数、值,并引用第一个表

标签 mysql count

我想从第三个表中获取计数值...第一个表具有对第二个表的引用 ID,第二个表具有第三个表的引用 ID...在第三个表中具有值......我需要计数。 ..
表结构:

表 1:tbl_rack

+------------+---------+--------+
| rack_id    | site_id | status |
+------------+---------+--------+
| R-642      | ST5     | Y      |
| R-307      | ST6     | Y      |
| R-57       | ST7     | Y      |
| 390/6      | ST8     | Y      |
| 9706       | ST11    | Y      |

表2:tbl_site
+---------+-------------+-----------+
| site_id | customer_id | region_id |
+---------+-------------+-----------+
| ST5    | CM8          | RM4       |
| ST6    | CM8          | RM8       |
| ST7    | CM10         | RM2       |
| ST8    | CM11         | RM12      |
| ST11   | CM8          | RM10      |

表 3:tbl_customer
+-------------+----------------------+---------------+
| customer_id | customer_name        | customer_type |
+-------------+----------------------+---------------+
| CM8         | LIVI-IN              | MODERATE      |
| CM10        | PEPE                 | HIGH          |
| CM11        | SANDER               | LOW           |
| CM12        | TOASTER              | MODERATE      |

我想计算每个客户包含多少个等级状态为“Y”的机架

预期结果 1:
Customer    No.of Racks
LIVI-IN     3
OTHERS      2

预期结果2:
Customer Type   No.of Racks
Moderate         3
High             1
Low              1

最佳答案

请遵循以下 SQL 查询:

select C.customer_name as 'Customer', count(*) as 'No.of Racks' 
from tbl_customer C
left outer join tbl_site TS on TS.customer_id = C.customer_id
left outer join tbl_rack TR on TR.site_id = TS.site_id
group by C.customer_name
order by  C.customer_name

关于MySql 从第 3 个表中获取计数、值,并引用第一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60388230/

相关文章:

mysql - 如何将这两个查询合并为一个?

php - 将生成的字符串用于 MySQL 中带有变量的数组

mysql - 是否应该始终将主键添加到 innodb 表中?

java - 如何删除重复值然后显示唯一值?

php - 在 php 中插入 mysql 查询时出现未知列错误?

MySQL 将行转为动态数量的列

C++迷宫计数通过时间

java - 统计特定时间段内的数字,Java,Android

php - 合并 2 个 SQL 表中条目的总数

python - 如何获取 CSV 文件的行数?