【发布时间】:2016-05-27 15:56:26
【问题描述】:
我正在汇总一份报告并加入了许多表格;在这种情况下,我试图从中提取数据的表具有重复的 ID,每个 ID 具有多个 (2) 值,就好像它们应该在 2 列中一样:
ID Position Caption Value
--- -------- ------- -----
143 1 Company QW
143 2 Invoice Long Service
144 1 Company IT
144 2 Invoice Complete Kit
145 1 Company OD
145 2 Invoice Foundation Leaflets
146 1 Company BIRT
146 2 Invoice TASIT
目前我已经将它加入到另一个带有 ID 的表中,正如预期的那样,它现在复制了每一行数据,理想情况下,我想让 ID 清楚地加入并显示如下数据:
ID Company Invoice
--- ------- -----
143 QW Long Service
144 IT Complete Kit
145 OD Foundation Leaflets
146 BIRT TASIT
这是我当前的代码,它产生 2 列但保留重复的行...
SELECT
CASE WHEN IR.Caption = 'Owning Company' THEN Value ELSE NULL END AS OwningCompany,
CASE WHEN IR.Caption = 'Invoice Summary' THEN Value ELSE NULL END AS InvoiceSummary
FROM Invoices AS I INNER JOIN
InvoiceReferences AS IR ON IR.InvoiceID = I.ID
WHERE (I.InvoiceStatus = '1')
给我这些结果:
OwningCompany InvoiceSummary
DT NULL
NULL Guide to Public Sector Tendering
BIRT NULL
NULL Agency
BIRT NULL
NULL food-catering
我希望结果如下所示:
OwningCompany InvoiceSummary
DT Guide to Public Sector Tendering
BIRT Agency
BIRT food-catering
谢谢
注意,我更熟悉 MySQL 格式而不是 SQL Server Management
【问题讨论】:
标签: sql-server join duplicates