Visualizzazione dei risultati da 1 a 6 su 6

Discussione: aiuto con query

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2016
    Messaggi
    10

    aiuto con query

    Buon giorno avrei la seguente esigenza su questa tabella
    N_ORD cli val1 val2
    8835201 235 0 2
    8835201 CTD 1 0
    8835101 172 0 2
    8835101 CTD 1 0
    8835181 156 0 2
    8835181 CTD 1 0
    8835811 108 0 2
    8835811 CTD 1 0
    8835811 CTD 0 0
    8835843 108 0 2
    8835843 CTD 1 0
    8835843 CTD 0 0
    8835785 106 0 4
    8835785 CTD 1 0
    8835785 CTD 0 0
    8835203 156 0 2
    8835203 CTD 1 0
    8835645 196 0 3
    8835645 CTD 1,4 0
    8835645 CTD 0 0
    8835219 172 0 2
    8835219 CTD 1 0
    8835161 172 0 2
    8835161 CTD 1 0
    8835889 131 0 3
    8835889 CTD 1 0
    8835889 CTD 0 0
    8835889 CTD 0 0
    8835467 151 0 2,5
    8835467 CTD 1 0
    8835467 CTD 0 0

    dovrei per ogni cliente sommare il valore 1 e il valore 2 utilizzando per il val1 il valore presente nel cli "CTD" con lo stesso numero ordine.
    Per esempio per il cliente 235 avr� val1 =1 e val 2 =2

    select cli, sum(val1) , sum(val2) from mov group by cli order by cli

    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2016
    Messaggi
    10
    naturalmente il valore che mi restituisce con la mia formula non è corretto in quanto per ogni cliente mi da solo il val2 e per il cliente "CTD" la somma dei val1.

    Infine è possibile inserire anche una 4 colonna che mi dia il numero delle operazioni fatte dai cli

    grazie

    Luk

  3. #3
    standing ovation per il titolo del thread. attenersi al regolamento, grazie

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2016
    Messaggi
    10
    hai ragione scusa.
    Come faccio a modificare il titolo ??

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Prova questo.
    codice:
    SELECT T1.cli, (val2 + TOT_CTD) FROM `tabella2` as T1
    LEFT JOIN 
    (select n_ord, sum(val1) AS TOT_CTD from `tabella2` where cli = 'CTD' group by n_ord) AS T2
    on T1.n_ord = T2.n_ord
    WHERE T1.cli <> 'CTD'
    ORDER BY T1.cli
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2016
    Messaggi
    10
    grande

    ho risolto cosi:
    select M2.CLI, sum( M2.val2) AS att, sum(M.val1) AS pass, sum( M2.val1) - sum(M.val2) AS margine, count(M2.val2) as S,
    from mov M JOIN mov M2 ON M.N_ORD=M2.N_ORD AND M2.val2>0
    where M.val1>0
    GROUP BY M2.CLI
    ORDER BY M2.CLI

    ora avrei il seguente problema:
    esiste la tabella p26 che contiene dei raggruppamenti di "cli"
    la voce della tabella che gli identifica si chiama "codtab"

    come posso dire alla query di prendere o solo il gruppo "F" oppure che mi restituisca il totale dei vari gruppi (quindi non piu raggruppati per cli ma per i gruppi di cli.

    grazie

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.