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

    [MYSQL]Query nidificata MYsql aiuto per favore

    Salve ragazzi avrei bisogno di un vostro consiglio per una quety un pò complicata.

    ho una tabella del genere:

    TABLE ZuccheriCompositi(CodiceIngrediente VARchar(4) not null,
    CodiceZuccheroPuro VARchar(4) ,
    Quantita DECIMAL(6,3));


    All'intrno di questa tabella ci possono essere puù tuple che hanno lo stesso CodiceIngrediente.

    Es:

    COD INGREDIENTE | CODICEZPURO | QUANTITA

    00000 ASD 45
    00000 AWQ 55

    00001 QWE 15
    00001 SDD 30

    LA QUEry che io voglio ottenere è la segunete: codiceIngrediente la cui somma della quantità è minore di 100

    in pratica la query su questa tabella mi dovrebbe restituire il codice 00001 in quanto 15+30 = 45 <100

    come posso fare????

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    codice:
    select cod_ingrediente
    from zucchericompositi
    group by cod_ingrediente
    having sum(quantita) < 100

  3. #3
    Grazie mille stavo per


  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    142
    io ho anche lo stesso problema solo che a me il codice query adattato al mio bisogno non funziona non so piu cosa inventarmi
    vi posto il codice:
    codice:
    SELECT Clienti.Nome, Clienti.Cognome,Importo
    FROM  ((Clienti inner join Ordini on Clienti.IDcliente = Ordini.Idcliente)inner join contengono on Ordini.Idordine = contengono.idordine)inner join prodotti on contengono.idprodotto = prodotti.idprodotto
    GROUP BY Clienti.Nome, Clienti.Cognome,Importo
    having sum(importo) > 1500;
    in pratica dovrebbe restituirmi i clienti che hanno acquistato prodotti per un totale superiore ai 1500 euro

  5. #5
    Originariamente inviato da Gybra
    io ho anche lo stesso problema solo che a me il codice query adattato al mio bisogno non funziona non so piu cosa inventarmi
    vi posto il codice:
    codice:
    SELECT Clienti.Nome, Clienti.Cognome,Importo
    FROM  ((Clienti inner join Ordini on Clienti.IDcliente = Ordini.Idcliente)inner join contengono on Ordini.Idordine = contengono.idordine)inner join prodotti on contengono.idprodotto = prodotti.idprodotto
    GROUP BY Clienti.Nome, Clienti.Cognome,Importo
    having sum(importo) > 1500;
    in pratica dovrebbe restituirmi i clienti che hanno acquistato prodotti per un totale superiore ai 1500 euro
    ....ma...?
    Qual'è il problema? (e non dire "non lo fa" perchè ti faccio bannare )
    Cosa succede se la esegui?
    Non è che per caso il campo importo è definito anche in altre tabelle comprese nelle varie join?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    142
    No importo è solo in quella tabella comunque io ad esempio ho cinque clienti di cui ad esempio uno ha acquistato prodotti per un totale superiore ai 1500 euro solo che con quella query li non mi visualizza niente

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Non hai un codice univoco per identificare i clienti?
    Nome e cognome si prestano a problemi di omonimie. Poi per quale motivo nel raggruppamento metti anche l'importo?

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    142
    Allora seguendo il consiglio di nicola ho fatto:
    codice:
    SELECT Clienti.Nome, Clienti.Cognome
    FROM ((Clienti INNER JOIN Ordini ON Clienti.IDcliente=Ordini.Idcliente) INNER JOIN contengono ON Ordini.Idordine=contengono.idordine) INNER JOIN prodotti ON contengono.idprodotto=prodotti.idprodotto
    GROUP BY Clienti.IDCliente
    HAVING sum(importo)>1500;
    Ma appena eseguo mi da questo errore:
    "Impossibile eseguire una query che non include l'espressione "Nome" specificata come parte di una funzione di aggregazione"

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    142
    Ragazzi scusate ma sono scemo ho risolto il problema grazie a tutti

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.