Mysql 为以下对象编写正确的SQL查询:-我使用了查询?数据来自多个表
我使用了查询:-Mysql 为以下对象编写正确的SQL查询:-我使用了查询?数据来自多个表,mysql,sql,Mysql,Sql,我使用了查询:- select employees.N, employees.ID, Date(Month) as m, count(*) as P, (FullOrHalfLeave) as FOH from employees, leaveapplication, leaveapplicationdetails where employees.ID = leaveapplication.ID and leaveapplication.Lea
select
employees.N, employees.ID, Date(Month) as m, count(*) as P,
(FullOrHalfLeave) as FOH
from
employees, leaveapplication, leaveapplicationdetails
where
employees.ID = leaveapplication.ID
and leaveapplication.LeaveApplicationID = leaveapplicationdetails.Leave_Application_ID
and TypeOfLeave = 1
and LeaveStatus = 4
and employees.ID = 18
group by
employees.ID,FOH
order by
employee.N, FOH
我得到如下结果:-
N ID m P FOH
--------------------------------------
A 18 1 8 1
A 18 1 3 2
A 18 4 6 1
A 18 5 3 1
A 18 5 1 2
A 18 6 3 2
A 18 9 1 1
A 18 9 4 2
我想要这样的结果:
N ID m Pad FOH
----------------------------------------
A 18 1 9.5 -
A 18 4 6 -
A 18 5 3.5 -
A 18 6 1.5 -
A 18 9 3 -
您不需要返回FOH,只需执行以下操作:
select employees.N, employees.ID, Date(Month) as m, SUM(1 / FullOrHalfLeave) as P
这样,如果FOH=1,那么您将计算一天,如果FOH=2,那么您将计算半天。-“在FOH列中”表示FOH列中的数据无关紧要。如果您发布代码、XML或数据示例,请在文本编辑器中突出显示这些行,然后单击“代码示例”按钮{}在编辑器工具栏上,可以很好地格式化和语法高亮显示它20多年前,在ANSI-92 SQL标准中,旧样式的逗号分隔表列表样式被正确的ANSI连接语法所取代,不鼓励使用它。您使用了哪个数据库?因为特定sql命令的语法可能会有所不同。Mysql数据库我不知道数据库的版本