나는이 질문에 대한 첫 번째 대답 테스트하기 위해 노력하고있어에 DB2 쿼리를 변환 할 필요 :이 질문에 대한 첫 번째 대답은 DB2로 작성는 TSQL
SQL - message schema - need to find an existing message thread given a set of users
을 내가 힘든 시간을 보내고있어 TSQL 응답을 변환합니다. 누군가 나를 알아낼 수있게 도와 줄 수 있습니까? 검색어는 다음과 같습니다.
WITH Selected_Users(id) as (VALUES (@id1), (@id2), --etc--),
Threads(id) as (SELECT DISTINCT threadFk
FROM ThreadMembers as a
JOIN Selected_Users as b
ON b.id = a.userFk)
SELECT a.id
FROM Threads as a
WHERE NOT EXISTS (SELECT '1'
FROM ThreadMembers as b
LEFT JOIN Selected_Users as c
ON c.id = b.userFk
WHERE c.id IS NULL
AND b.threadFk = a.id)
AND NOT EXISTS (SELECT '1'
FROM Selected_Users as b
LEFT JOIN ThreadMembers as c
ON c.userFk = b.id
AND c.threadFk = a.id
WHERE c.userFk IS NULL)
검색어의 설명은 많은 도움이되는 답변의 일부입니다. 쿼리의 첫 번째 부분은 Selected_Users라는 임시 테이블을 만듭니다. 그러나 이것이 어떻게 수행 될지는 확실하지 않습니다. 미리 감사드립니다!
나는 TSQL 버전으로 원래의 질문에 업데이트되었습니다. 감사! – Redtopia