2016-10-13 3 views
0

Click Show Pictureзапрос отдельного значения из одного столбца

SELECT 
    [Date_Time], 
    [TagID], 
    [Value_Per_15min] 
FROM 
    [RIDTL].[dbo].[Rawdata] 
WHERE 
    Date_Time BETWEEN '01-09-2016 00:00:00:000' AND '2016-10-12 23:59:59:000' 
ORDER BY 
    Date_Time 

Я хочу выход:

Output Picture

+0

Почему вы предпочитаете только теги Top 2, а не все 4? и в каком порядке? – Cine

+0

, потому что заказ DATE TIme 00:00:00 до 23:45:00 по каждому дате времени имеет разные значения TagID –

+0

Возможный дубликат: http://stackoverflow.com/questions/14590859/build-sql-query-with-dynamic-columns – Cine

ответ

0

Предполагая, что вы хотели, чтобы выбрать первые два значения TagID с соответствующим по столбцам Date_Time и Value_Per_15min ,

SELECT [Date_Time],[1] TagID1,[2] TagID2,[Value_Per_15min] 
FROM 
(SELECT 
    [Date_Time], 
    [TagID], 
    [Value_Per_15min], 
    ROW_NUMBER()OVER(PARTITION BY [Date_Time],[Value_Per_15min] ORDER BY [TagID]) CNT 
FROM [RIDTL].[dbo].[Rawdata] 
WHERE Date_Time BETWEEN '01-09-2016 00:00:00:000' AND '2016-10-12 23:59:59:000')t 
PIVOT 
(MIN(TagID) 
FOR CNT IN ([1],[2]))piv; 
Смежные вопросы