2010-10-30 12 views
0

J'ai deux champs appelés T1 et T2 définis comme doubles. Je voudrais définir T3 avec les conditions suivantes:Requête MySQL apparemment triviale avec les instructions if

If T1 & T2 >0 then T3=(T1+T2)/2 
If T1==0 then T3=T2 
if T2==0 then T3=T1 
if T1==0 & T2==0, T3=-9999 

Je ne sais pas comment inclure plusieurs instructions if dans la requête.

+0

Je ne pense pas que vous ayez besoin de ma structure de table pour répondre à cette question, mais laissez-moi savoir si vous le faites. – Maiasaura

+0

Est-ce une requête 'UPDATE' ou une requête' SELECT' que vous recherchez? –

Répondre

2

Utilisation:

UPDATE YOUR_TABLE 
    SET t3 = CASE 
       WHEN t1 + t2 > 0 THEN (t1 + t2)/2.0 
       WHEN t1 + t2 = 0 THEN -9999 
       WHEN t1 = 0 THEN t2 
       WHEN t2 = 0 THEN t1 
      END 

si t1 t2 + est inférieur à zéro?

+0

T1 ou T2 ne peut jamais être inférieur à zéro (du moins pas dans les données que j'ai reçues). Merci beaucoup OMG Ponies. – Maiasaura