Visualizzazione risultati 1 fino 5 di 5

Discussione: Sommare un valore della Tabella2 in Tabella1

  1. #1
    carmeloconny non è connesso Neofita
    Data registrazione
    22-06-2007
    Messaggi
    3

    Predefinito Sommare un valore della Tabella2 in Tabella1

    Ciao a tutti sono un neofita e vi ringrazio anticipatamente.

    Con un esempio spiego meglio la query che devo realizzare.

    Tabella1
    --------
    ID
    altri campi


    Tabella2
    ---------
    ID_tabella1
    prezzo
    ********************************
    Tabella1
    ID=1
    ID=2
    ID=3


    *******************************
    Tabella2
    ID_tabella1=1
    Prezzo=5
    -----
    ID_tabella1=1
    prezzo=8
    -----
    ID_tabella1=1
    prezzo=10
    *******************************
    devo realizzare una query che in base ID tabella1 mi vada a sommare il contenuto del campo prezzo in Tabella2 con la relazione fra le tabelle( Tabella1.ID e Tabella2.ID_tabella1 nel campo temporaneo AS "totale_prezzo" della tabella1. Il risultato deve essere un solo record con il valore di totale_prezzo = 23 ( 5+8+10).

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Codice:
    SELECT SUM(tabella_2.Prezzo) AS totale_prezzo
    FROM tabella_1
    , tabella_2
    WHERE tabella_1.ID = "valore"
    AND tabella_2.ID_tabella1 = tabella_1.ID
    GROUP BY tabella_1.ID


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    carmeloconny non è connesso Neofita
    Data registrazione
    22-06-2007
    Messaggi
    3

    Predefinito re

    Ti ringrazio per la risposta.
    Purtroppo non sono tanto ferrato in mysql.
    Come mi hai consigliato mi fa la somma solo di un record della tabella1"valore".
    Io vorrei elencare tutti i record della tabella1 con il totale_prezzo.

    EDIT:
    OK. grazie tantissimo ho risolto!
    devo togliere:
    ---------------------------------
    WHERE tabella_1.ID = "valore"
    AND tabella_2.ID_tabella1 = tabella_1.ID
    ---------------------------------
    e per elencare tutti i record devo aggiungere: tabella1.*,
    ******* RISULTATO *******

    SELECT tabella1.*, SUM(tabella_2.Prezzo) AS totale_prezzo
    FROM tabella_1
    , tabella_2
    GROUP BY tabella_1.ID

    EDIT2:
    Scusami grande cavolata quella che ho scritto prima. Così la somma viene sbagliata mi somma tutti i record prezzo di tabella2.

    HELP.
    Devo elencare tutti i record di tabella1 con la somma di totale_prezzo, relazionate con ( Tabella1.ID e Tabella2.ID_tabella1
    Ultima modifica di seneca : 19-06-2008 alle ore 13.37.29

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Bastava lasciare il vincolodi join:

    Codice:
    SELECT tabella_1.*, SUM(tabella_2.Prezzo) AS totale_prezzo
    FROM tabella_1
    , tabella_2
    WHERE tabella_2.ID_tabella1 = tabella_1.ID
    GROUP BY tabella_1.ID


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    carmeloconny non è connesso Neofita
    Data registrazione
    22-06-2007
    Messaggi
    3

    Predefinito

    grazie a saitfaider, sono riuscito a risolvere tutto grazie ai tuoi suggerimenti.

    il risultato è:
    SELECT tabella_1.*, SUM(tabella_2.Prezzo) AS totale_prezzo
    FROM tabella_1
    LEFT OUTER JOIN tabella_2 ON
    tabella_1.ID = tabella_2.ID_tabella_1

    GROUP BY tabella_1.ID
    Ultima modifica di carmeloconny : 19-06-2008 alle ore 17.37.49

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •