mysql - 如何让这个查询正确?

标签 mysql sql

这是我的第一张 table

Type      LimitDays
-----------------
leave        15
absent       15
vacation     15

这是我的第二张 table

Name      type      UseDays
---------------------------
Chuck     leave         3

现在我想要的是连接两个表..并像这样显示..

Type       LimitDays    UseDays
--------------------------------
leave         15          3
absent        15          0
vacation      15          0

这是我已经完成的..但是

SELECT   
    Leave,
    Counter,
    (SELECT SUM(LeaveTbl.NumDays) AS Expr1
     FROM  LeavetypTbl 
     INNER JOIN LeaveTbl ON  LeavetypTbl.Leave = LeaveTbl.Leave
     GROUP BY LeavetypTbl.Leave, LeavetypTbl.Counter) AS Expr1
FROM     
    LeavetypTbl AS LeavetypTbl_1

结果是错误的..大声笑还是不对..结果是这样的

Type       LimitDays    UseDays
--------------------------------
leave         15          3
absent        15          3
vacation      15          3

最佳答案

如果您使用的是 MySQL:

SELECT LeavetypTbl.Leave, LeavetypTbl.Counter, IFNULL(SUM(LeaveTbl.NumDays), 0)
FROM LeavetypTbl LEFT JOIN LeaveTbl ON LeavetypTbl.Leave = LeaveTbl.Leave
GROUP BY LeavetypTbl.Leave

关于mysql - 如何让这个查询正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28925555/

相关文章:

php - 存储到期日期的最佳方式是什么?

mysql - SQL = SUM 总计

sql - 从 Node.JS 连接到 SQL Azure

mysql - 使用 MySQL 作为 session 存储时的重定向问题

SQL 内连接两个以上的表

sql - 为具有多种数据的模型设计数据库模式

MySQL 返回错误结果

mysql - 如何将表格行数据显示为列?

mysql - 日期、日期差异和总和

mysql - 如何从mysql文档中理解 "not necessarily to DML statements"?