2017-01-23 1 views
1

J'ai un tableau avec la colonne ci-dessous Noms. Je veux trouver résultat de MAX (NewyorkPrice-MANITOBAPrice, 0)Soustraire le prix sur cette table

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

Sortie prévue sur

Price DeliveryHour 
0  1 
1.0  2 

S'il vous plaît aidez-moi par écrit Sql Interrogation sur Self Table

Répondre

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

Merci pour votre réponse . J'ai cette erreur Msg 102, niveau 15, état 1, ligne 1 Syntaxe incorrecte près de ','. Msg 102, niveau 15, état 1, ligne 9 Syntaxe incorrecte proche de 't'. –

+0

Rechargez votre page, j'ai eu une faute de frappe là-bas. –

+0

Salut Tim, En résultat toutes les valeurs de prix à venir comme zéro. –