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

    [MySQL] Query complessa

    Ciao,
    ho questa query che funziona:

    codice:
    SELECT fatture.id, numero, ragione, fatture.data, fatture.note, SUM( importo ) AS importo, pagata
    FROM fatture, composizione, servizi, clienti
    WHERE fatture.id= id_fattura AND servizi.id = id_servizio AND fatture.id_cliente = clienti.id 
    GROUP BY fatture.id ORDER BY fatture.data DESC
    Ma vorrei trasformarla in qualcosa del genere (NB: non uso l'SQL che in questo caso non conosco) :
    codice:
    SELECT fatture.id, numero, ragione, fatture.data, fatture.note, SUM( if (servizi.iva==1){importo*1,2} else{importo} )  AS importo, pagata
    FROM fatture, composizione, servizi, clienti
    WHERE fatture.id= id_fattura AND servizi.id = id_servizio AND fatture.id_cliente = clienti.id 
    GROUP BY fatture.id ORDER BY fatture.data DESC
    E' in qualche modo possibile?

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Prova così:

    sum (if(servizi.iva=1,importo*1.2,importo)) as importo

  3. #3
    Non va..

    Ho fatto parecchie prove ma mi da sempre il solito errore:
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(if(servizi.iva=1,importo*1.2,importo)) as importo


  4. #4
    La tua query è perfetta!

    Sono io il pirla.. ho messo uno spazio tra SUM e la relativa "(".. nn sapevo fosse così rigida la sintassi..

    Grazie!

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Prego.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.