Reputation: 409
I try create a view with one table multi time here is my code but the result is wrong.Can you help me I cant see here wrong thing.
SELECT DISTINCT
O1.HomeWorkId, O2.FileInfo AS TeacherFileInfo,
O2.Answer AS TeacherAnswer, O1.Answer AS StudentAnswer,
O1.StudentId
FROM
HomeWorkAnswer AS O1
INNER JOIN
HomeWorkAnswer AS O2 ON O1.FileInfo = O2.FileInfo
WHERE
(O1.HomeWorkId > 0)
I save my teacher answer and student answer in this table.In my project I select two times for compare the answer.But I thing for performance it is not good and try create something like this.
Upvotes: 0
Views: 152
Reputation: 7837
You can try using derived tables to separate teachers answer from students answers.
SELECT DISTINCT
sa.HomeWorkId,
ta.FileInfo AS TeacherFileInfo,
ta.Answer AS TeacherAnswer,
sa.Answer AS StudentAnswer,
sa.StudentID
FROM
(SELECT *
FROM HomeWorkAnswer
WHERE studentId = -1) ta
JOIN
(SELECT *
FROM HomeWorkAnswer
WHERE teacherId = -1) sa ON ta.FileInfo = sa.FileInfo
Upvotes: 1