1
dbo.mail_Messages
테이블의 결과를 표시해야하지만, 문제는 dbo.mail_Reply
에없는 Messages
이 표시되어야한다는 것입니다. 그 때문에 아래 쿼리를 사용하고 있지만 아무것도 표시하지 않습니다.테이블이 SQL Server 2008에서 올바르게 결합되지 않았습니다.
가 어떻게이 문제를 해결할 수 있습니다
또한 스크린 샷을 첨부?
내 코드 :이 두 가지 모순되는 조건을 가지고로
이SELECT
dbo.mail_Messages.MessageID,
dbo.mail_Users_Messages_Mapped.PlaceHolderID,
IsRead,
SenderId,
dbo.mail_Messages.Subject,
dbo.mail_Messages.Body,
dbo.mail_Messages.Date,UserEmail
FROM
dbo.mail_Users_Messages_Mapped
JOIN
dbo.mail_Messages ON dbo.mail_Messages.MessageID = dbo.mail_Users_Messages_Mapped.MessageID
JOIN
dbo.mail_Users ON dbo.mail_Users.UserID = dbo.mail_Users_Messages_Mapped.UserId
JOIN
dbo.mail_Reply ON dbo.mail_Reply.MessageID = dbo.mail_Messages.MessageID
WHERE
UserEmail = 'user1'
AND dbo.mail_Users_Messages_Mapped.PlaceHolderId = 1
AND dbo.mail_Messages.MessageID != dbo.mail_Reply.MessageID
'mail_reply'이 mail_users''에 조건부 가입하지, 그래서 당신은 일단 'mail_reply' 테이블을 추가하면 일종의 데카르트 참여를 얻게됩니다. –
예제 쿼리를 보여 주시겠습니까? 제발, 당신이 말하려고하는 것을 얻지 못하고 있기 때문에 ... – Learner
이 예제를보고 조인 조건에주의하십시오 : http://sqlfiddle.com/#!2/db40c/2 –