Visualizzazione parte dei dati di un DataTable

lunedì 02 marzo 2009 - 17.35

ysdemarc Profilo | Expert

ciao a tutti...

vi scrivo un esempio di quello che devo fare che forse vale più di mille parole..

ad esempio io ho un DataTable ottenuto da un select sql con dei dati simili a questo:

Nominativo ---- Prodotto ---- Quantità
A ---- prodotto 1 ------5
A ---- prodotto 2 ----- 8
B ---- prodotto 1 ----- 1
B ---- prodotto 4 ----- 10
C ---- prodotto 1 ----- 3
C ---- prodotto 3 ----- 2

però dopo aver ottenuto questi dati voglio l'elenco di chi ha più di 9 prodotti in totale
e quindi il risultato finale che desidero è:
A ---- prodotto 1 ------5
A ---- prodotto 2 ----- 8
B ---- prodotto 1 ----- 1
B ---- prodotto 4 ----- 10

poichè A ha 13 quantità, B 11 e C solo 5 e quindi va escluso.

L'unico modo che mi viene in mente è
o fare prima una selezione per la stessa queri per avere i totali generali filtrando per la quantità e poi fare la select sapendo con solo quei nominativi
oppure scorrere tutto il datatable fare i totali e poi eliminare tutti quei nominativi che non raggiungono il totale desiderato.

Tutti e due i modi mi sembrano prolissi in termine di tempo considerato che la query avviene on-line e la mole di dati da gestire..
e poi nel primo caso prosciugherei le risorse del server nel secondo costringerei l'utente ad attendere forse un pò troppo.

C'è qualche altra strada che potrei seguire?

anche mettendo mani nella select sql

supponendo che sia qualcosa del genere
SELECT NOMINATIVO
, PRODOTTO
, SUM(QUANTITA) AS QUANTITA
FROM TABELLA
GROUP BY NOMINATIVO
, PRODOTTO

(naturalmente la mia query è molto più ingarbugliata ed entrano in gioco molto più tabelle poivchè l'utente deve poter filtrare i dati anche per altri parametri)

spero di essere stato il più chiaro possibile...

grazie

Vincenzo
Programmatore sbilenco
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5