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

    query articolata con somma

    detta così non si capisce....

    mi spiego meglio:

    ho una tabella con questi campi:

    tecnico, tecnico2, costo, costo2, data

    il nome dei tecnici può variare ed il campo tecnico2 (così come costo2) può essere vuoto

    ecco un esempio di record:

    tizio, caio, 100, 100, 12/01/2009
    caio, , 20 , , 14/01/2009
    sempronio, tizio, 30, 50, 16/01/2009
    caio, tizio, 40, 40, 18/01/2009
    tizio, sempronio, 60, 60, 20/01/2009

    una query mi deve sommare i costi per ogni tecnico, cioè (con i dati di cui sopra):

    tizio = 250
    caio = 160
    sempronio = 90

    a me non è riuscito....
    Verba volant, scripta manent

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Query arraffazzonata.

    codice:
    select tecnico,sum(costo) from (
    select tecnico,sum(costo) as costo from tabella where tecnico is not null group by tecnico
    union 
    select tecnico2,sum(costo2) from tabella where tecnico2 is not null group by tecnico2) as tab
    group by tecnico
    order by tecnico
    Il consiglio è quello di rivedere tutta la struttura della tabella.

  3. #3
    purtroppo il db si è evoluto su alcune 'fragilità'....

    mi mancherebbe un ultimo pezzettino.... raggrupparli per anno-mese.

    ho provato così (la tabella si chiama interventi):

    select tecnico,sum(durata), year(DATA), month(DATA) from (
    select tecnico,sum(durata), year(DATA), month(DATA) as durata from interventi where tecnico is not null group by tecnico
    union
    select tecnico2,sum(durata2), year(DATA), month(DATA) from interventi where tecnico2 is not null group by tecnico2) as tab
    group by tecnico, month(DATA), year(DATA)
    order by tecnico, year(DATA), month(DATA)

    ma mi dice

    #1054 - Unknown column 'DATA' in 'field list'

    ce la faresti con un ultimo sforzo?

    grazie ancora comunque della gentilezza (e competenza....)
    Verba volant, scripta manent

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da jetbaron
    mi mancherebbe un ultimo pezzettino.... raggrupparli per anno-mese.
    Ma almeno le date sono memorizzate come tali o sono stringhe come nel tuo esempio?

  5. #5
    le date sono memorizzate come tali....

    è un campo date
    Verba volant, scripta manent

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Salvo sviste è così

    codice:
    select tecnico,sum(costo),periodo from (
    	select tecnico,sum(costo) as costo,date_format(`data`,"%Y-%m") as periodo 
    	from tabella where tecnico is not null 
    	group by tecnico,periodo
    	union 
    	select tecnico2,sum(costo2),date_format(`data`,"%Y-%m") as periodo
    	from tabella where tecnico2 is not null 
    	group by tecnico2,periodo) as tab
    	group by tecnico,periodo
    	order by tecnico,periodo

  7. #7
    mi dà ancora

    #1054 - Unknown column 'DATA' in 'field list'

    e non capisco perchè....
    Verba volant, scripta manent

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Se scrivi

    select tecnico,`data` from interventi

    ottieni lo stesso errore?

  9. #9
    così funzia....

    SELECT tecnico, sum( costo_tecnico ) , periodo
    FROM (

    SELECT tecnico, sum( costo_tecnico ) AS costo_tecnico, date_format( `data` , "%Y-%m" ) AS periodo
    FROM interventi
    WHERE tecnico IS NOT NULL
    GROUP BY tecnico, periodo
    UNION SELECT tecnico2, sum( costo_tecnico2 ) , date_format( `data` , "%Y-%m" ) AS periodo
    FROM interventi
    WHERE tecnico2 IS NOT NULL
    GROUP BY tecnico2, periodo
    ) AS tab
    GROUP BY tecnico, periodo
    ORDER BY tecnico, periodo

    grazie mille !!!!!

    ps: ma oltre alla pratica, mi sai consigliare qualcosa da leggere su mysql?
    Verba volant, scripta manent

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Oltre a questo forum?

    Mah, il manuale ufficiale online e anche il relativo forum.

    Un libro che a me è piaciuto molto è questo

    http://books.google.it/books?id=aC3b...BaqszgSI4MXkDQ

    Buona notte.

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.