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

    [MySql] subquery in una query

    Ho un problema relativamente ad una query in MySql, una cosa che non ho mai fatto, ma che mi sembra sia possibile fare. Utilizzo ASP.
    Ho una tabella ordini di capi di abbigliamento in cui devo registrare le quantità delle varie taglie, sono tante, e il prezzo unitario.

    Oltre a dover calcolare il numero dei capi in totale, devo calcolare anche l'importo totale moltiplicando il numero dei capi per il prezzo unitario.

    Al momento ho questa query:

    codice:
     
        SELECT IDdettaglioct, ordettaglioID, colore, IFNULL(t6,0) + IFNULL( t8,0) + IFNULL( t10,0) + IFNULL( t12,0) + IFNULL( t14,0) + IFNULL( t16,0) + IFNULL( t36,0) + IFNULL( t37,0) + IFNULL( t38,0) + IFNULL( t39,0) + IFNULL( t40,0) + IFNULL( t41,0) + IFNULL( t42,0) + IFNULL( t43,0) + IFNULL( t44,0) + IFNULL( t45,0) + IFNULL( t46,0) + IFNULL( t47,0) + IFNULL( t48,0) + IFNULL( t49,0) + IFNULL( t50,0) + IFNULL( t51,0) + IFNULL( t52,0) + IFNULL( t54,0) + IFNULL( t56,0) + IFNULL( t58,0) + IFNULL( t60,0) + IFNULL( t62,0) + IFNULL( t64,0) + IFNULL( t66,0) + IFNULL( t68,0) AS SOMMA_TOT, unitprice, subquant, subprice FROM carema.dettaglioct  order by IDdettaglioct desc Limit 0, 1

    Dove, come si può ben vedere, già faccio la somma dei capi, tuttavia vorrei poter al tempo stesso conservare in subquant il SOMMA_TOT e, inoltre ma forse chiedo troppo, moltiplicare SOMMA_TOT * unitprice e conservare il risultato in subprice.

    Se questo non è possibile almeno vorrei poter effettuare la prima operazione, ovvero la moltiplicazione, e poi mi conserverei i due dati con un successivo UPDATE.

    Grazie per gli eventuali suggerimenti, ma in rete non ho trrovato nulla che faccia al mio caso.

    Buona giornata a tutti
    BigDaniel

  2. #2
    unitprice è nella stessa tabella?

  3. #3
    Si, nella stessa tabella
    BigDaniel

  4. #4
    quindi hai due possibilità
    1. ti rifai tutta la spatafiata della somma e la moltiplichi per unitprice
    2. fai una stored procedure, scrivendo il risultato della prima query in una temp, poi metti la temp in join con la tabella carema.dettaglioct e calcoli anche il prezzo complessivo

    io (ma normalmente uso M$SQL) non avrei dubbi ad usare la seconda

  5. #5
    Grazie, ma c'è un solo problema: MySql non supporta le stored procedure
    BigDaniel

  6. #6
    Originariamente inviato da bigdaniel
    Grazie, ma c'è un solo problema: MySql non supporta le stored procedure
    Ciao , puoi attuare il suggerimento di optime riadattandolo al tuo caso senza storedprocedures. Invece di salvare il risultato in una temp fai una vista. Poi il resto uguale...
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  7. #7
    Originariamente inviato da bigdaniel
    Grazie, ma c'è un solo problema: MySql non supporta le stored procedure
    dici? http://www.html.it/pag/32156/stored-...red-functions/

  8. #8
    Già, ma io ho la versione precedente
    BigDaniel

  9. #9
    allora segui il consiglio di bomberdini e prepara una vista

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.