Я использую четыре отдельные таблицы, и я не могу понять, почему мой DISTINCT не фильтрует результаты. Я пытаюсь получить единственный результат для каждого acct.Name в этом запросе. Независимо, если я использую DISTINCT или нет, я получаю точные результаты.SQL Query - Distinct, кажется, не фильтрует
Select DISTINCT
acct.Name,
inv.InvoiceNumber,
acct.AccountNumber,
addr.Line1,
addr.Line2,
addr.Line3,
addr.City,
addr.StateOrProvince,
addr.postalcode
FROM InvoiceBase inv, AccountBase acct
JOIN AccountExtensionBase base
ON base.AccountId = acct.AccountId
JOIN CustomerAddressBase addr
ON addr.ParentId = acct.AccountId
WHERE
inv.AccountId=acct.AccountId And
base.New_cocat_master = 1 And
base.New_CompanyId = 1 And
inv.StateCode = 0 And
inv.Name = '2013 ' + acct.AccountNumber
ORDER by acct.Name
Первый результат я получаю теперь первые три значения (acct.Name, inv.InvoiceNumnber, acct.AccountNumber) и остальные столбцы являются пустыми. Вторая строка содержит все столбцы с информацией. Я просто пытаюсь сделать acct.Name быть DISTINCT
Когда вы говорите: 'удвоенных результаты ', вы имеете в виду, что он извлекает в два раза больше строк, чем вы ожидаете, или на самом деле появляются дубликаты строк в наборе результатов? – Gerrat