2015-01-10 50 views
-2

所需的輸出:子查詢在SELECT子句和解決 「子查詢返回多行」

2014-11-12 2 
2014-11-18 2 
2014-11-23 1 

我的代碼:

SELECT Attendance.Attend_Date, (SELECT COUNT(Attendance.AttendDet_Type) as P 
FROM Student, Attendance 
WHERE Student.Stud_ID = Attendance.Stud_ID 
AND Student.Stud_Class = '1A1' 
AND Attendance.Attend_Date BETWEEN '2014-01-01' AND '2014-12-01' 
AND Attendance.AttendDet_Type = 'P' 
GROUP BY Attendance.Attend_Date 
) as T 
FROM Student, Attendance 
WHERE Student.Stud_ID = Attendance.Stud_ID 
AND Student.Stud_Class = '1A1' 
AND Attendance.Attend_Date BETWEEN '2014-01-01' AND '2014-12-01' 
GROUP BY Attendance.Attend_Date 

誰能幫助我?謝謝。

+0

您可能並不想在您的子選擇中使用GROUP BY? (這就是爲什麼格式化很重要) – Ben

+0

當人們根據沒有輸入提供所需的輸出時,我喜歡它。 – Strawberry

回答

0

我的回答。多謝你們!

SELECT Attendance.Attend_Date, 
COUNT(CASE WHEN Attendance.AttendDet_Type = 'P' THEN Attendance.Attend_Date ELSE null END)AS P, 
COUNT(CASE WHEN Attendance.AttendDet_Type = 'A' THEN Attendance.Attend_Date ELSE null END)AS A, 
COUNT(CASE WHEN Attendance.AttendDet_Type = 'C' THEN Attendance.Attend_Date ELSE null END)AS C, 
COUNT(CASE WHEN Attendance.AttendDet_Type = 'MC' THEN Attendance.Attend_Date ELSE null END)AS MC 
FROM Student, Attendance 
WHERE Student.Stud_ID = Attendance.Stud_ID 
AND Student.Stud_Class = '" & DropDownList13.SelectedValue & "' 
AND Attendance.Attend_Date BETWEEN '" & Label5.Text & "' 
AND '" & Label6.Text & "' 
GROUP BY Attendance.Attend_Date