Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

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

    inserire valori predefiniti in una colonna senza scrivere sul db

    Buon giorno,
    ho la seguente esigenza su queste query:

    select M2.CLI, sum( M2.val2) AS att
    from mov M JOIN mov M2 ON M.N_ORD=M2.N_ORD AND M2.val2>0 and M2.cli = ('1','2','3')
    union select M2.CLI, sum( M2.val2) AS att
    from mov M JOIN mov M2 ON M.N_ORD=M2.N_ORD AND M2.val2>0 and M2.cli = ('4','5','6')


    il sistema mi restituisce il tolale delle operzioni fatte per i due gruppi di clienti.
    Tuttavia dovrei fare tale operazione per circa 12 gruppi e dovrei riuscire a capire nelle dodici righe che andrei ad estrarre a chi si riferiscono.
    Per esempio il gruppo 1 contiene i clienti 1,2,3
    il gruppo 2 i clienti 4,5,6 e cosi via

    è possibile inserire una colonna con scritto per la prima riga gruppo 1 e cosi via (metto un esempio)
    non ho il poteri di scriere sul db
    gruppo att
    1 1256
    2 2463

    grazie

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    Aggiungi una colonna con un valore predefinito

    select M2.CLI, sum( M2.val2) AS att, 'PRIMO' as cliente

    from mov M JOIN mov M2 ON M.N_ORD=M2.N_ORD AND M2.val2>0 and M2.cli = ('1','2','3')
    union select M2.CLI, sum( M2.val2) AS att, 'SECONDO' as cliente
    from mov M JOIN mov M2 ON M.N_ORD=M2.N_ORD AND M2.val2>0 and M2.cli = ('4','5','6')

    Attenzione però che se fai 12 union non è molto performante, e probabilmente hai sbagliato qualcosa nella progettazione del DB o nella query

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

    infatti ci mette un sacco per restituirmi il risultato e mi intasa il db, hai qualche consiglio per la query?
    ho un centinaio di clienti che devo riunire in gruppi di appartenenza
    come faccio ad avere per ogni gruppo di clienti una riga?

    grazie ancora

  4. #4
    che vuol dire "mi intasa il db"?

  5. #5
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    select M2.CLI, sum( M2.val2) AS att, case m2.cli when '1' then 'G1' when '2' then 'G1' when '3' then 'G1' when '4' then 'G2' when '5' then 'G2' (ecc.....) ELSE 'GX' END as cliente
    from mov M JOIN mov M2 ON M.N_ORD=M2.N_ORD AND M2.val2>0
    group by cliente

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2016
    Messaggi
    10
    ciao mi intasa il db voleva dire che ci mette un po di tempo a darmi i risultato e se proviamo a fare altre oprazioni rallentano

    ora prova quato scritto da luca200

    grazie per ora

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 © 2026 vBulletin Solutions, Inc. All rights reserved.