+ Rispondi al Thread
Pagina 2 di 2 primaprima 12
Visualizzazione dei risultati da 11 a 15 su 15

Discussione: [SQL]Query estrazione record con valore minore

  1. #11
    net-addiction non è in linea Scolaretto
    Luogo
    Treviso
    Post
    473
    Ciao Carmine,

    quello che @Alex voleva dire è che il tracciato record delle tabelle "articoli" e "prezzi" dovrebbero essere:

    codice:
    id_articolo
    nome_articolo
    descrizione_articolo
    ...
    e

    codice:
    id_articolo
    ...
    prezzo
    nel tuo caso la tabella prezzi risulterebbe

    codice:
    id_articolo | prezzo
    1 | 12,40
    1 | 12,34
    1 | 11,00
    2 | 21,40
    2 | 11,34
    2 | 13,00
    1 | 11,00
    1 | 10,00
    1 | 9,00
    In questo modo con una query tipo:
    codice:
    SELECT nome_articolo, min(prezzo) FROM articoli LEFT JOIN prezzi ON articoli.id_articolo = prezzi.id_articolo GROUP BY nome_articolo;
    avresti un output tipo:
    codice:
    Articolo 1 | 9,00
    Articolo 2 | 11,34
    e con la left join trovi anche gli articoli che non hanno un prezzo assegnato.
    ciao!
    Ultima modifica di net-addiction; 22-10-2011 17:17 
    - The user formerly known as GRiM[R]eaPeR -

  2. #12
    L'avatar di Carmen
    Carmen non è in linea Scribacchino
    Luogo
    Italy
    Post
    837
    Ciao, Grazie della delucidazione. Quindi io per ogni record che inserisco nella tabella Articoli devo avere tre record corrispondenti nella tabella prezzi visto che devo gestire tre prezzi, per poi ricavare i tre prezzi più bassi ragruppati.
    Carmen!

  3. #13
    L'avatar di bumm
    bumm non è in linea Very Important Person Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Luogo
    Bologna
    Post
    2,142
    Blogs
    1
    Per ricavare i 3 prezzi più bassi dalla tabella Prezzi devi fare una query del genere:
    codice:
    SELECT TOP 3 prezzo  FROM Prezzi WHERE id_articolo = @codicearticolointeressato ORDER BY prezzo
    "HeloWorld.exe" 17 errors, 31 warnings.

    Non mi mandate le richieste di aiuto via PM! Non vi risponderò! Tutte le domande fateli sul forum!

  4. #14
    L'avatar di @Alex
    @Alex non è in linea Very Important Person
    Post
    16,054
    Quote Originariamente inviato da bumm Visualizza il messaggio
    Per ricavare i 3 prezzi più bassi dalla tabella Prezzi devi fare una query del genere:
    codice:
    SELECT TOP 3 prezzo  FROM Prezzi WHERE id_articolo = @codicearticolointeressato ORDER BY prezzo
    Così ricavi una singola interrogazione ovvero i 3 prezzi per il singolo articolo, non un'elenco articoli con i 3 Prezzi migliori per ogni articolo, e magari questa è la soluzione che soddisfa Carmen...

    Nel caso invece volesse una tabella con i primi 3 prezzi per Articolo, ma di tutti gli articoli, la soluzione io l'ho già data prima per il Minimo del singolo... poi a quella si applica la modifica del TOP3....
    Ultima modifica di @Alex; 23-10-2011 10:02 
    @Alex
    Il CROSSPOST è VIETATO
    Mirror al vecchio sito WEB(salvare i Demo riassegnando l'estensione (.Zip/.Rar/.Exe in base all'icona...):
    http://mirror.masterdrive.it/alessandrobaraldi/
    Leggi il
    Regolamento del Forum e nel comprenderne la filosofia rispettalo.

  5. #15
    L'avatar di Carmen
    Carmen non è in linea Scribacchino
    Luogo
    Italy
    Post
    837
    Quote Originariamente inviato da @Alex Visualizza il messaggio
    Nel caso invece volesse una tabella con i primi 3 prezzi per Articolo, ma di tutti gli articoli, la soluzione io l'ho già data prima per il Minimo del singolo... poi a quella si applica la modifica del TOP3....
    Infatti io devo ricavare i tre prezzi più bassi ragruppati x articolo
    Carmen!

+ Rispondi al Thread
Pagina 2 di 2 primaprima 12

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi