我再次遇到问题。
所以我有一张桌子,看起来像这样: 第一个例子:
InstitutionalReportRecordsID |StringValue |StringEntryNumber |Description |DeleteBit
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 01/14/2015 0 ThisYearTermA 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 12/10/2014 0 ThisYearTermB 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 NULL 1 ThisYearTermA 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 NULL 1 ThisYearTermB 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 NULL 2 ThisYearTermA 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 NULL 2 ThisYearTermB 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 NULL 3 ThisYearTermA 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 NULL 3 ThisYearTermB 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 NULL 4 ThisYearTermA 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 NULL 4 ThisYearTermB 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 3A15 5 ThisYearTermA 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 2B15 5 ThisYearTermB 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 3A15 5 ThisYearTermA 0
A1E16CCA-1120-43A8-B562-3AE0794CFEE5 2B15 5 ThisYearTermB 0
此表根据Description和String Entry number存储数据。它们充当X和Y坐标,用于显示StringValue列。
当完成所有操作后,输出应如下所示:
第二个例子:
Descrip ReportDate DataColumnOne DataColumnTwo DataColumnThree Counts Comment
ThisYearTermA 11/12/2014 NULL NULL NULL NULL 2A15
ThisYearTermB 12/10/2014 NULL NULL NULL NULL 2B15
以下是发生的事情。我正在接受报告,我必须把它推到一个与上面第一个代码示例相对应的表中。然后,我需要创建一个工作来自动向我们的商业智能人员发送一个与第二个示例匹配的SQL Blob,以便她可以将其放入Excel,并通过电子邮件发送给公司。
我有点把一个方形的钉子推到一个圆形的座位上。如果我能够为此创建一组新表,那么一切都会变得更加容易,更不用说它会更好地与我们当前存储和维护的东西相对应。可悲的是,我被告知没有。
到目前为止,在我的操作中,我无法编写一个select语句来使输出与第二个示例相匹配。
有什么建议吗?
答案 0 :(得分:1)
这样的东西?评论字段确实没有意义,因为这些值与表格不匹配,但可能是值的最大值/分钟。
select
Description,
max(convert(datetime, case when StringEntryNumber = 0 then StringValue else NULL end, 101)) as ReportDate,
max(case when StringEntryNumber = 1 then StringValue else NULL) as DataColumnOne,
max(case when StringEntryNumber = 2 then StringValue else NULL) as DataColumnTwo,
max(case when StringEntryNumber = 3 then StringValue else NULL) as DataColumnThree,
max(case when StringEntryNumber = 4 then StringValue else NULL) as Counts,
max(case when StringEntryNumber = 5 then StringValue else NULL) as Comment
from
table
group by
Description