Originariamente inviata da
optime
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