Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    19

    Query sum group join

    Vorrei realizzare una query che mi dia l'inventario del magazzino del 2009
    Ho 2 tabelle (semplificate nel numero dei campi) nelle quali sono elencati gli acquisti e le vendite dell'anno 2009
    I valori di ART_ID si ripetono varie volte in entrambe le tabelle poichè articoli uguali sono stati acquistati e venduti varie volte


    CREATE TABLE IF NOT EXISTS `contab_acquisti` (
    `ART_ID` int(5) NOT NULL DEFAULT '0',
    `QUANT` int(10) NOT NULL DEFAULT '0',
    `PREZZO` double DEFAULT '0',
    )

    CREATE TABLE IF NOT EXISTS `contab_vendite` (
    `ART_ID` int(5) NOT NULL DEFAULT '0',
    `QUANT` int(10) NOT NULL DEFAULT '0',
    )

    Vorrei realizzare una query che mi da per ogni articolo la somma di tutte le quantità acquistate e vendute con i seguenti campi:ART_ID QUANT_A QUANT_V PREZZO
    esempio per l'ARTICOLO 125:
    ART_ID 125
    QUANT_A 25 (TOTALE PEZZI ACQUISTATI)
    QUANT_v 7 (TOTALE PEZZI VENDUTI)
    PREZZO 10,52 (EURO)

    POSSO FARE 2 QUERY DISTINTE

    SELECT contab_acquisti.ART_ID, Sum(contab_acquisti.QUANT) AS QUANT_A, contab_acquisti.PREZZO
    FROM contab_acquisti
    GROUP BY contab_acquisti.ART_ID;

    SELECT contab_vendite.ART_ID, Sum(contab_vendite.QUANT) AS QUANT_V
    FROM contab_vendite
    GROUP BY contab_vendite.ART_ID;

    MA NON RIESCO AD UNIRLE IN UNA UNICA con Join... help!!!

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Se ho capito bene

    codice:
    select art_id,
    max(case when tipo = 'a' then quant else 0 end) as tot_acquisti,
    max(case when tipo = 'b' then quant else 0 end) as tot_vendite
    from (
    select art_id,sum(quant) as quant,'a' as tipo from contab_acquisti group by art_id
    union all
    select art_id,sum(quant) as quant,'b' from contab_vendite group by art_id
    ) as t
    group by art_id

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.