Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL-如何计算表1中的订阅数并连接表2中的数据_Mysql_Sql_Left Join_Inner Join - Fatal编程技术网

Mysql SQL-如何计算表1中的订阅数并连接表2中的数据

Mysql SQL-如何计算表1中的订阅数并连接表2中的数据,mysql,sql,left-join,inner-join,Mysql,Sql,Left Join,Inner Join,我有两张桌子: 表1(订阅) 表2(课程描述) 我需要这个: 结果表: COURSEID - COURSE - NAME - UNIT - TOTAL SUBSCRIPTIONS WITH STATUS = 0 1 - EXCEL - BASIC - XYZ Street - 2 2 - WORD - MASTER - ABC Street - 1 3 - PPOINT - BASIC - MNO Street -

我有两张桌子:

表1(订阅)

表2(课程描述)

我需要这个:

结果表:

COURSEID - COURSE - NAME   - UNIT       - TOTAL SUBSCRIPTIONS WITH STATUS = 0
1        - EXCEL  - BASIC  - XYZ Street  -   2
2        - WORD   - MASTER - ABC Street  -   1
3        - PPOINT - BASIC  - MNO Street  -   0 
我尝试左加入:

SELECT TABLE2.COURSEID, TABLE2.COURSE, TABLE2.NAME, TABLE2.UNITY COUNT(*) TOTAL FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1.ID = TABLE2.ID GROUP BY TABLE1.ID 
但我只得到了订阅的课程


怎么了?

此查询将执行您想要的操作。它使用条件聚合(一个
CASE
语句的
SUM
)来确定状态为0的订阅数

SELECT c.COURSEID, c.COURSE, c.NAME, c.UNIT, SUM(CASE WHEN s.STATUS = 0 THEN 1 ELSE 0 END) AS Subs_with_0_status
FROM table2 c
LEFT JOIN table1 s ON s.COURSEID = c.COURSEID
GROUP BY c.COURSEID
输出:

COURSEID    COURSE  NAME    UNIT        Subs_with_0_status
1           EXCEL   BASIC   XYZ Street  2
2           WORD    MASTER  ABC Street  1
3           PPOINT  BASIC   MNO Street  0

此查询将执行您想要的操作。它使用条件聚合(一个
CASE
语句的
SUM
)来确定状态为0的订阅数

SELECT c.COURSEID, c.COURSE, c.NAME, c.UNIT, SUM(CASE WHEN s.STATUS = 0 THEN 1 ELSE 0 END) AS Subs_with_0_status
FROM table2 c
LEFT JOIN table1 s ON s.COURSEID = c.COURSEID
GROUP BY c.COURSEID
输出:

COURSEID    COURSE  NAME    UNIT        Subs_with_0_status
1           EXCEL   BASIC   XYZ Street  2
2           WORD    MASTER  ABC Street  1
3           PPOINT  BASIC   MNO Street  0

你好,尼克!首先,谢谢你分享宝贵的时间和知识来帮助我。就这样!在这里测试,效果很好。我会在几分钟内投票并给你打分(需要再等5分钟):DHi@Nick!首先,谢谢你分享宝贵的时间和知识来帮助我。就这样!在这里测试,效果很好。我会在几分钟内投票并给你打分(需要再等5分钟):D