Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    Query SQL con Microsoft Access

    Salve,
    ho un problema in sql.
    ho tre tabelle: prodotti, fornitore, fornisce(relazione tra prodotti e fornitore).
    Vorrei trovare il minimo prezzo di ogni prodotto distinto per nome, cioè se ho più prodotti con lo stesso nome deve scegliere quello con il minimo prezzo e poi mi deve visualizzare per ogni differente nome quello con il minimo prezzo.....
    lo sto facendo in microsoft access ma ho diverse difficoltà......
    sembra banale ma un pò per la sintassi di access e un pò per la difficoltà del problema.
    Alla fine il record deve contenere come dati: id_prodotto, nome, id_fornitore, nome_fornitore.

    Vi prego help me, please!!!!!

  2. #2
    devi utilizzare le funzioni di aggregazione nel caso specifico la funzione min(campo_prezzo) e devi anche utilizzare GROUP BY, questo ti serve per raggruppare i record uguali..
    spero di averti aiutato...
    I database... la mia passione + o -

  3. #3
    Ciao,
    ho provato come mi avete consigliato ma mi funziona solo per certi casi....
    Cioè ho fatto così:

    SELECT Min(prodotti.Prezzo) AS PrezzoMinimo, prodotti.nome
    FROM Fornitore INNER JOIN (prodotti INNER JOIN Fornisce ON prodotti.Id_Prodotto=Fornisce.Id_Prod) ON Fornitore.Id_Fornitore=Fornisce.Id_Forn
    GROUP BY prodotti.nome;

    ma ora il mio problema è quello di visualizzare accanto al prezzo e al nome del prodotto anche l'id_fornitore, nome_fornitore, indirizzo_forntiore, id_prodotto.

    Se io prova ad aggiungerli nella select mi trovo che devo metterli anke nella group by ma questo mi implica un risultato assurdo: mi compaiono tutti i prezzi di tutti i prodotti e quindi non il minimo di ogni prezzo distinto per nome.....

    Come posso fare?

    Helpme,please

  4. #4
    Possibile che nessuno riesce a darmi qualche dritta?!?

    Sembra un problema banale ma mi ha bloccato.

  5. #5
    ciao, intanto perchè fai tutti quei join?? poi per risolvere il tuo problema dovresti fare un join tra questa ed un'altra query/tabella...
    I database... la mia passione + o -

  6. #6
    così mi funziona....
    solo ke vorrei far comparire anche le informazioni riguardanti il nome e l'id del fornitore e l'id del prodotto
    ma per fare questo bisogna inserire questi campi nella select ma anche nel group e così facendo mi sballa la soluzione dato che mi vengono visualizzati tutti i dati complessivi

  7. #7
    elencami i campi delle varie tabelle e i campi che vuoi elencare nella query... vediamo cosa riesco a tirare fuori...
    I database... la mia passione + o -

  8. #8
    Tabella Prodotti: id_prodotto, nome, categoria, prezzo
    Tabella Fornitore: id_fornitore, nome, indirizzo
    Tabella Fornisce: id_forn, id_prod



    Speriamo bene........ sembra banale ma..........

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Elenca tutti i campi che ti servono nella clausola SELECT ed elencali, nello stesso ordine, anche nella clausola GROUP BY.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  10. #10
    Vi ho detto che ho già provato ma il risultato diella query è che mi vengono visualizzati tutti i valori dei prodotti e non quelli con il minimo dato che in questa maniera vengono raggruppati non solo per prezzo ma anche per nome, id_fornitore, nome_fornitore



    Ve l'avevo già detto...........

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