我正在使用四个单独的表,我似乎无法弄清楚为什么我的 DISTINCT 没有过滤结果。我试图在这个查询中为每个 acct.Name 获得一个结果。无论我是否使用 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.InvoiceNumber、acct.AccountNumber),其余列为空白。第二行包含所有包含信息的列。我只是想让 acct.Name 成为 DISTINCT