2017-01-23 11 views
1

У меня есть таблица с именами ниже столбцов. Я хочу, чтобы найти результат MAX (NewyorkPrice-MANITOBAPrice, 0)Вычитание цены на том же столе

IntertieZoneName DeliveryHour Price 
MANITOBA    1    16.2  
MANITOBA    2   19.0 
NEWYORK    1    14.4  
NEWYORK    2    20.0  

Ожидаемые результаты на

Price DeliveryHour 
0  1 
1.0  2 

Пожалуйста, помогите мне в письменном виде Sql запроса на самостоятельной таблице

ответ

0
SELECT CASE WHEN t.price_difference < 0 THEN 0 ELSE t.price_difference END AS Price, 
     t.DeliveryHour 
FROM 
(
    SELECT DeliveryHour, 
      MAX(CASE WHEN IntertieZoneName = 'NEWYORK' THEN Price END) - 
      MAX(CASE WHEN IntertieZoneName = 'MANITOBA' THEN Price END) AS price_difference 
    FROM yourTable 
    GROUP BY DeliveryHour 
) t 
+0

Благодарим за Ваш ответ , У меня есть эта ошибка Msg 102, Level 15, State 1, Line 1 Неверный синтаксис рядом с ','. Msg 102, уровень 15, состояние 1, строка 9 Неверный синтаксис рядом с 't'. –

+0

Перезагрузите свою страницу, у меня была опечатка. –

+0

Привет, Тим, В результате все значения цены приходят как Zero. –

Смежные вопросы