我无法编写查询以获得我想要的结果。我有下表:
CREATE TABLE [dbo].[inputs](
[iid] [int] IDENTITY(1,1) NOT NULL,
[tag_id] [int] NULL,
[date_time] [datetime] NULL,
[input_raw] [float] NULL,
[input_calibrated] [float] NULL,
[input_type] [varchar](50) NULL,
[virtual_record] [varchar](50) NULL,
[status_change] [varchar](50) NULL,
[prev_stat_chg] [varchar](50) NULL,
[prev_status_change] [varchar](50) NULL,
[unix_timestamp] [float] NULL,
CONSTRAINT [PK_inputs] PRIMARY KEY CLUSTERED
(
[iid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]`
)
我正在编写一个查询以获取可与我拥有的时间线图一起使用的格式的数据。需要数据“分组依据”“unix_timestamp”和“n”个 tag_id 的“input_raw”。
例如:
SELECT TOP 20 inputs.unix_timestamp, inputs.input_raw, inputs.tag_id
FROM [200030].[dbo].inputs
WHERE inputs.tag_id = 92149 or inputs.tag_id = 92164
ORDER BY unix_timestamp DESC
给我结果:
unix_timestamp input_raw tag_id
1357788990 313 92149
1357788990 210 92164
1357788690 313 92149
1357788690 210 92164
1357788390 313 92149
1357788390 210 92164
1357788090 313 92149
1357788090 210 92164
1357787790 313 92149
1357787790 210 92164
1357787490 313 92149
1357787490 210 92164
1357787190 313 92149
1357787190 210 92164
1357786890 313 92149
1357786890 210 92164
1357786590 313 92149
1357786590 210 92164
1357786290 313 92149
1357786290 210 92164
我需要一个看起来像这样的结果:
unix_timestamp tag(92149) tag(92164)
1357788990 313 210
1357788690 313 210
|
|
Vetc...
如果时间戳上的其他标签有任何其他数据,则如果一个标签中缺少任何数据,则还需要字符串“未定义”或“NULL”。
有什么帮助吗?