Selezionare un elemento alla volta nelle colonne di una tabella

mercoledì 12 settembre 2007 - 11.15

MagicBotolo Profilo | Newbie

Io ho una tabella con due colonne del tipo:

A | B
1 | 10
2 | 20
3 | 30

Se io volessi scegliere il primo elemento della colonna A e il primo elemento della colonna B (senza eseguire una query di ricerca... vorrei farlo, se si può, con un'istruzione tipo MoveFirst() usata per i Recordset) e successivamente passare agli elementi successivi (sempre con un'istruzione anzichè con una query) potrei farlo?

Io uso Microsoft SQL Server 2000
Ciao!!

alx_81 Profilo | Guru

>Io ho una tabella con due colonne del tipo:
>
> A | B
> 1 | 10
> 2 | 20
> 3 | 30
>
>Se io volessi scegliere il primo elemento della colonna A e il
>primo elemento della colonna B (senza eseguire una query di ricerca...
>vorrei farlo, se si può, con un'istruzione tipo MoveFirst() usata
>per i Recordset) e successivamente passare agli elementi successivi
>(sempre con un'istruzione anzichè con una query) potrei farlo?
Cosa intendi con "senza usare una query di ricerca"?
Vuoi per caso fare un cursore (simile ad un recordset) su SQL Server? In quel caso.. illustrami la problematica.. perchè è quasi sempre meglio evitarli..
Attendo tue nuove.


Alx81 =)

http://blogs.dotnethell.it/suxstellino

MagicBotolo Profilo | Newbie

Allora, la tabella esatta è del tipo:

A | B
a | 10
a | 20
a | 30
b | 12
c | 2
c | 4

Io ho implementato una procedura con la quale scorro gli elementi della prima colonna e quelli della seconda colonna corrispondenti. Quando cambia l'elemento della prima colonna (da a a b) ricomincio con gli elementi della seconda colonna e li inserisco in una nuova colonna.
In pratica alla fine della procedura ho gli elementi della seconda colonna divisi in tante colonne diverse a seconda di quanti sono gli elementi della prima colonna (è una Cross tab Query). Io uso un ciclo per controllare le colonne A e B della tabella descritta dove seleziono gli elementi partendo dal minore e continuando fino a quando l'elemento della prima colonna cambia. Fino ad ora ha funzionato ma in alcuni casi mi è capitato di usare dati non ordinati (dati della colonna B) e quindi l'uso della funzione MIN per partire dal primo elemento non funziona. Mi servirebbe analizzare tutti i dati con qualcosa del tipo:"Passa al valore successivo" (come mi sembra di aver capito fanno le funzioni MoveNext() & Simili). Non vorrei usare gli indici però...
Non so se sono stato proprio chiaro...
Ciao!!

alx_81 Profilo | Guru

>Allora, la tabella esatta è del tipo:
>
> A | B
> a | 10
> a | 20
> a | 30
> b | 12
> c | 2
> c | 4
>
>Io ho implementato una procedura con la quale scorro gli elementi
>della prima colonna e quelli della seconda colonna corrispondenti.
>Quando cambia l'elemento della prima colonna (da a a b) ricomincio
>con gli elementi della seconda colonna e li inserisco in una
>nuova colonna.
>In pratica alla fine della procedura ho gli elementi della seconda
>colonna divisi in tante colonne diverse a seconda di quanti sono
>gli elementi della prima colonna (è una Cross tab Query). Io
>uso un ciclo per controllare le colonne A e B della tabella descritta
>dove seleziono gli elementi partendo dal minore e continuando
>fino a quando l'elemento della prima colonna cambia. Fino ad
>ora ha funzionato ma in alcuni casi mi è capitato di usare dati
>non ordinati (dati della colonna B) e quindi l'uso della funzione
>MIN per partire dal primo elemento non funziona. Mi servirebbe
>analizzare tutti i dati con qualcosa del tipo:"Passa al valore
>successivo" (come mi sembra di aver capito fanno le funzioni
>MoveNext() & Simili). Non vorrei usare gli indici però...
>Non so se sono stato proprio chiaro...
Potresti illustrare il risultato che vuoi ottenere? non ho mica capito tanto bene...
fammi proprio un bell'esempio del risultato buttato giù in maniera più grafica

Alx81 =)

http://blogs.dotnethell.it/suxstellino
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5