Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    MySQL IF in sql... Possibile???

    Salve a tutti ho un problemone..... su quale mi sono bloccato da un paio di giorni.
    Sto realizzando un gioco on line su carta di auto e stavo realizzando una funzione in SQL per carlcolare potenza del motore, la sua accelerazione e la vita dello stesso.
    Ho realizzato la tabella car che è l'insieme di tutte le primary key delle altre tabelle che contengono le tarti delle auto.
    Nella tabella car ci sono i campi: turbo 1, turbo 2, camme, filtro aria, stroker che fanno capo alla stessa tabella (modifiche).
    Il problema è il seguente: Quando turbo1 è uguale a turbo 2, me li considera come un campo solo e la potenza che dovrei avere inceve di essere di 2 turbo è di un turbo solo. A me serve che comunque sia anche se turbo1 = turbo 2 me li calcoli separatamente. Come posso fare????
    Un altro problema che mi da è che se turbo 2 o turbo 1 sono NULL, Mi raddoppia la potenza data dal turbo (cosa che tra l'altro dovrebbe fare se sono valorizzati Turbo1 e turbo 2)


    Questo è il codice:
    codice:
    SELECT motore.potenza + ( motore.potenza /100 * SUM( modifiche.pot ) ) AS pot,
    motore.accelerazione + ( motore.accelerazione /100 * ( SUM( modifiche.coppia ) + frizione.acc ) ) AS cop, 
    motore.vita + ( motore.vita /100 * SUM( modifiche.vita ) ) AS vita 
    FROM motore, modifiche, frizione, car 
    WHERE car.id = 'codice_auto' 
    AND motore.id = car.motore 
    AND modifiche.codice = car.turbo1 
    AND modifiche.codice = car.turbo2 
    OR modifiche.codice = car.filtro_aria 
    OR modifiche.codice = car.scarico 
    OR modifiche.codice = car.camme 
    OR modifiche.codice = car.stroker 
    AND frizione.id = car.frizione
    A me servirebbe mettere un IF che mi controllo se turbo1= turb2
    di moltiplicare la potenza data da turbo1x2
    e che se turbo 1 o turbo 2 sono NULL di non considerare il campo NULL
    Why so serious?????

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Come da regolamento dovresti specificare il db che utilizzi per ricevere delle risposte sensate.

  3. #3
    Originariamente inviato da nicola75ss
    Come da regolamento dovresti specificare il db che utilizzi per ricevere delle risposte sensate.
    Sorry.... correggo subito
    Why so serious?????

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.