Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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查询:-我使用了查询?数据来自多个表_Mysql_Sql - Fatal编程技术网

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数据库我不知道数据库的版本