纵表格式:
pid dtag ttag dqf pval
1001-1-1001 100 1 0 10.10
横表格式:
pid h1 h2 h3
Select --Pid,Substr(Pid, 8, 4) As Dev_Type,
Substr(Pid, 0, 6) As Dev_Type,
To_Char(To_Date('20000101', 'yyyymmdd') + Dtag, 'YYYY-MM-DD') || ' ' ||
Trunc(Ttag / 60) || ':00:00' As Datetime,
-- Dtag, Ttag,
Sum(Case Substr(Pid, 8, 4)
When '1001' Then
Pval
Else
0
End) As Cy1,
Sum(Case Substr(Pid, 8, 4)
When '1002' Then
Pval
Else
0
End) As Cy2,
Sum(Case Substr(Pid, 8, 4)
When '1003' Then
Pval
Else
0
End) As Cy3,
Sum(Case Substr(Pid, 8, 4)
When '1004' Then
Pval
Else
0
End) As Cy4,
Sum(Case Substr(Pid, 8, 4)
When '1005' Then
Pval
Else
0
End) As Cy5,
Sum(Case Substr(Pid, 8, 4)
When '1006' Then
Pval
Else
0
End) As Cy6,
Sum(Case Substr(Pid, 8, 4)
When '1007' Then
Pval
Else
0
End) As Cy7,
Sum(Case Substr(Pid, 8, 4)
When '1008' Then
Pval
Else
0
End) As Cy8,
Sum(Case Substr(Pid, 8, 4)
When '1009' Then
Pval
Else
0
End) As C2h2,
Sum(Case Substr(Pid, 8, 4)
When '1010' Then
Pval
Else
0
End) As C2h6,
Sum(Case Substr(Pid, 8, 4)
When '1011' Then
Pval
Else
0
End) As Cy11,
Sum(Case Substr(Pid, 8, 4)
When '1012' Then
Pval
Else
0
End) As Cy12,
Sum(Case Substr(Pid, 8, 4)
When '1013' Then
Pval
Else
0
End) As Cy13,
Sum(Case Substr(Pid, 8, 4)
When '1014' Then
Pval
Else
0
End) As Cy14,
Sum(Case Substr(Pid, 8, 4)
When '1015' Then
Pval
Else
0
End) As Cy15,
Sum(Case Substr(Pid, 8, 4)
When '1016' Then
Pval
Else
0
End) As Cy16,
Sum(Case Substr(Pid, 8, 4)
When '1017' Then
Pval
Else
0
End) As Cy17,
Sum(Case Substr(Pid, 8, 4)
When '1018' Then
Pval
Else
0
End) As Cy18,
Sum(Case Substr(Pid, 8, 4)
When '1019' Then
Pval
Else
0
End) As Cy19
From Analog_Data_200701
--Where Dtag = '2558' And Ttag = '240' And Substr(Pid, 0, 6) = '1001-4'
Group By Substr(Pid, 0, 6), Dtag, Ttag --, Pval
Order By Dtag, Ttag, Substr(Pid, 0, 6)