我的PHP-MSSQL查询有问题。 我有一个连接表是需要给一个结果的东西是这样的:PHP MSSQL:如何在查询不返回行时显示输出
Department Group A Group B Total A+B
WORKHOUR A OTHOUR A WORKHOUR B OTHOUR B WORKHOUR OTHOUR
HR 10 15 25 0 35 15
IT 5 5 5 5
Admin 12 12 12 12
查询会算多少员工按照给定的日期(管理员将进入数据,一旦提交,查询将给予上述结果)。
问题是,当没有要显示的行时,最终输出是一团糟。该列是右移。
即: 只有一群在IT 只有B组在管理
Department Group A Group B Total A+B
WORKHOUR A OTHOUR A WORKHOUR B OTHOUR B WORKHOUR OTHOUR
HR 10 15 25 0 35 15
IT 5 5 5 5
Admin 12 12 12 12
我的问题是,如何防止这种情况发生? 我试过一切尽管....如果其他..但结果仍然是一样的。 如果没有行返回,如何显示输出“0”? echo“0”;
这是我的查询:
select DD.DPT_ID,DPT.DEPARTMENT_NAME,TU.EMP_GROUP, sum(DD.WORK_HOUR) AS WORK_HOUR,
sum(DD.OT_HOUR) AS OT_HOUR
FROM DEPARTMENT_DETAIL DD
left join DEPARTMENT DPT
ON (DD.DEPT_ID=DPT.DEPT_ID)
LEFT JOIN TBL_USERS TU
ON (TU.EMP_ID=DD.EMP_ID)
WHERE DD_DATE>='2012-01-01'
AND DD_DATE<='2012-01-31'
AND TU.EMP_GROUP!=2
GROUP BY DD.DEPT_ID, DPT.DEPARTMENT_NAME,TU.EMP_GROUP
ORDER BY DPT.DEPARTMENT_NAME
这是我用过的逻辑之一,但不返回,我想::
while($row = mssql_fetch_array($displayResult))
{
if ((!$row["WORK_HOUR"])&&(!$row["OT_HOUR"]))
{
echo "<td >";
echo "empty";
echo " </td>";
echo "<td >";
echo "empty";
echo " </td>";
}
else
{
echo "<td>";
echo $row["WORK_HOUR"];
echo " </td>";
echo "<td>";
echo $row["OT_HOUR"];
echo " </td>";
}
}
请帮助的结果。我已经做了2天。 @ __ @
什么是php代码?会不会是PHP逻辑的问题? –
我写了一个答案来解决SQL中的问题,因为您只粘贴了SQL代码。但是你的问题是一个PHP /标记问题!如果没有您用来生成输出的代码,我们无法解决这个问题! – GordonM
你也可以使用SELECT IFNULL(my_column,0)如果列的结果为null,那么这将产生0 –