我的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 –