Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    a te serve quella con o quella senza?

  2. #12
    SELECT Riga, Codice, Quantita INTO #TMP WHERE Ordine = 100;
    UPDATE #TMP SET Riga=-Riga WHERE CODICE LIKE '%-SUFFIX';
    UPDATE #TMP SET Codice=REPLACE(Codice, '-SUFFIX', '');
    SELECT ABS(MAX(Riga)), Codice, SUM(Quantita)
    FROM #TMP GROUP BY Codice;

  3. #13
    Utente di HTML.it L'avatar di nman
    Registrato dal
    Jan 2011
    residenza
    Milano
    Messaggi
    1,333
    Post cancellato perche per la fretta non avevo
    visto le risposte gia date in 2° pagina


    .
    Ultima modifica di nman; 18-04-2014 a 07:49

  4. #14
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    20
    Quote Originariamente inviata da optime Visualizza il messaggio
    a te serve quella con o quella senza?
    A me serve la riga senza suffisso. Però ci potrebbero essere casi di ordini contenenti (tra le altre righe):

    1) Due righe differenti con codice con suffisso prima di quello senza suffisso
    2) Due righe differenti con codice senza suffisso prima di quello con suffisso
    3) Una sola riga con codice con suffisso
    4) In realtà ci potrebbe essere anche il caso di una sola riga con codice senza suffisso, ma in questo caso il problema non si pone.

    In ogni caso ho deciso di usare la mia query. Sicuramente si potrebbe fare meglio e la mia è forse poco elegante, ma funziona per tutte le casistiche.

    codice:
    select cast(replace(replace(min(w.RigaDett),'0-',''),'1-','') as int) as RigaOrdine,
     replace(w.Codice,'-SUFFIX','') as codice, 
     SUM(w.Quantita) as Quantita 
     from
    (select CASE WHEN CHARINDEX('-SUFFIX', codice)=0 THEN '0-'+min(cast(RIGA AS varchar)) ELSE '1-'+min(cast(RIGA AS varchar)) END as RigaDett,codice,SUM(Quantita) as Quantità
     from TOD 
     WHERE NumeroOrdine = 100
     AND Quantita > 0 
     group by Codice) w
     GROUP BY replace(w.Codice,'-SUFFIX','')
    order by RigaOrdine
    Ultima modifica di csar1992; 18-04-2014 a 13:42

  5. #15
    avevi provato questa?

    SELECT Riga, Codice, Quantita INTO #TMP WHERE Ordine = 100;
    UPDATE #TMP SET Riga=-Riga WHERE CODICE LIKE '%-SUFFIX';
    UPDATE #TMP SET Codice=REPLACE(Codice, '-SUFFIX', '');
    SELECT ABS(MAX(Riga)), Codice, SUM(Quantita)
    FROM #TMP GROUP BY Codice;

  6. #16
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    20
    Grazie per l'aiuto, ma sinceramente non mi piace mettermi a creare tabelle temporanee per questa cosa

  7. #17

Tag per questa discussione

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.