sql - mysql 左连接和求和分组依据

标签 sql mysql join

您好,我使用此 mysql 代码生成以下数据:

代码:

SELECT L.LEAVETYPE, LA.IDLEAVETYPE, LA.IDLEAVETABLE, SUM( LA.NOOFDAYS ) 
FROM LEAVETYPE AS L
LEFT JOIN LEAVEAPPLICATION AS LA ON LA.IDLEAVETYPE = L.IDLEAVETYPETABLE
GROUP BY L.LEAVETYPE

alt text

当我添加Where条件时,它只会显示带有值的LeaveType。我怎样才能显示所有的离开类型,包括空(如第一张图片所示)?

SELECT L.LEAVETYPE, LA.IDLEAVETYPE, LA.IDLEAVETABLE, SUM(LA.NOOFDAYS)
FROM LEAVETYPE AS L
LEFT JOIN LEAVEAPPLICATION AS LA ON LA.IDLEAVETYPE = L.IDLEAVETYPETABLE
WHERE LA.IDSTAFFTABLE='24'
GROUP BY L.LEAVETYPE

alt text

最佳答案

将 idstafftable 条件移至连接而不是 where:

LEFT JOIN LEAVEAPPLICATION AS LA ON LA.IDLEAVETYPE = L.IDLEAVETYPETABLE AND LA.IDSTAFFTABLE='24'

关于sql - mysql 左连接和求和分组依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3800723/

相关文章:

c# - 下拉列表中的国家/地区和城市列表

c# - 解析,parseexact字符串(varchar)从db mysql到sql查询中的datetimepicker C#

mysql - 在 mySQL 的嵌套子查询中选择多列的推荐方法

mysql - 通过单个查询查找 ID 数组中的哪一个没有记录

php - 显示类别中最受欢迎条目的 MYSQL 查询

mysql - 如何显示 SCHEMA 中所有表的列标题

php - 从另一台服务器保存表单数据

mysql - Rails - 使用 RSpec 设置迁移和测试的默认时间

php - 使用事件记录或mysql从codeigniter中的多个表构造json

sql - 检查数据是否遵循计划的顺序