Позвольте мне начать с того, что я ОЧЕНЬ новичок в SQL, пришедший из системы Sysadmin.
Я пытаюсь извлечь данные на основе определенного поля, заполненного определенной строкой. Позвольте мне показать вам мой код, так что вы, вероятно, можете немного посмеяться (некоторые имена таблиц были изменены, также игнорируйте даты, это фактически переменные в отчете, это всего лишь пример):)
SELECT
q2.Date AS Date,
q2.[Language] AS [Language],
q2.[User_Id] AS [UserName],
q2.PhoneNumber AS [Phone],
q1.Ending AS [Ending],
q2.Score AS [Score]
FROM
(SELECT
CA.ANI, DI.Disposition, CA.StartWrap, CA.NumTransfer
FROM
[Gaetano].[dbo].[Call] CA
JOIN
[Gaetano_Common].[dbo].[End] DI ON DI.Ending = CA.Ending
WHERE
CA.NumTransfer = 'ESTA'
AND CA.EndDate BETWEEN '2019-09-24' AND '2019-09-25') q1
JOIN
(SELECT
Pr.Date AS SurveyDate,
Pr.[Language] AS [Language],
[User_Id] AS [User],
acd.ANI AS [PhoneNumber],
Pr.Score AS [Score],
FROM
[dbo].[GaetanoPr] Pr
INNER JOIN
[dbo].[ACDGaetano] acd ON acd.SeqNum = Pr.SeqNum
AND NOT acd.Service_Id IS NULL
AND NOT acd.[User_Id] IS NULL
WHERE
Pr.Date BETWEEN '2019-09-24' AND '2019-09-25') q2 ON q2.PhoneNumber = q1.ANI
Что я пытаюсь сделать, так это то, что единственные результаты, которые я получаю, это те, которые имеют значение 'ESTA' в столбце CA.NumTransfer. Я думаю, что проблема в том, что когда я соединяю q1 и q2, в результате всегда получается, что несколько строк дублируются.