Dovresti specificare il linguaggio che usi, comunque se usi VB.NET crea una dataView della tabella d'interesse e poi filtra i dati come vuoi...
'carica tutti i record della tabella nella vista
dim vista as new dataview (<tuodataset>.(<numeroTabella>))
' o in alternativa
dim vista as new dataview (<tuodataset>.("<nomeTabella>"))
'filtra i record
vista.rowfilter = "<campoDaFiltrare> = <valore>"
'ordina i record
vista.sort = "<campoDaOrdinare>"
I dati non sono duplicati, ma dataview (come in sql) è solo una maniera per visualizzare la tabella. Nel caso cambi qualche valore della datarowview esso verrà cambiato anche nella corrispettiva datarow della datatable nel dataset
ciao