PDA

Visualizza la versione completa : [SQL] reperire campo tabella per numero anzichè per nome


caimano73
28-08-2003, 10:52
ciao a tutti ragassuoli,
avrei un problema.
Come si fa a prelevare dei campi di una tabella specificando non il nome dei campi ma il numero corrispondente al loro ordine nella lista dei campi?
Mi spiego con un esempio: se ho una tabella con tre campi, campo1, campo2 e campo3, vorrei fare una query del tipo

select tabella.1, tabella.3
from tabella

che prelevi la prima e la terza colonna di ogni record. Esiste qualcosa del genere in SQL (e, possibilmente, in Oracle)?

grazie a tutti

RobMcSword
29-08-2003, 00:34
SELECT [nometabella].[campo1], [nometabella].[campo3]
FROM [nometabella];

caimano73
29-08-2003, 11:59
Forse non mi sono spiegato bene: io non voglio indicare il nome del campo, ma il numero corrispondente al loro ordine nella lista delle colonne della tabella.

Lo so che con

select tabella.campo1, tabella.campo3
from tabella

prelevo i campi 'campo1' e 'campo3', ma io vorrei non dover indicare il nome, ma appunto il fatto che volgio la prima e la terza colonna.

Qualcuno sa come fare?

Grazie e ciao

RobMcSword
29-08-2003, 12:49
una volta, quando mi dilettavo con vb, mi sembra ci fosse una collezione (tipo tipo form, forms, per intenderci) in cui potevi recuperare i nomi dei campi con una riga di comando tipo questa:

querydef(nomequery).querydefs(numerocampo)

ripeto, lo facevo tempo fa, ora come ora non so se sia possibile e soprattutto se sia esatto.
se questo si può fare, puoi vedere se è possibile sostituire i nomi dei campi con una definizione del genere.

prova a guardare nell'help del vba (se hai access)

caimano73
29-08-2003, 14:33
Originariamente inviato da RobMcSword
una volta, quando mi dilettavo con vb, mi sembra ci fosse una collezione (tipo tipo form, forms, per intenderci) in cui potevi recuperare i nomi dei campi con una riga di comando tipo questa:

querydef(nomequery).querydefs(numerocampo)

ripeto, lo facevo tempo fa, ora come ora non so se sia possibile e soprattutto se sia esatto.
se questo si può fare, puoi vedere se è possibile sostituire i nomi dei campi con una definizione del genere.

prova a guardare nell'help del vba (se hai access)

non sono in vb, ma in oracle.
Con un linguaggio (Java ad esempio) il problema è risolto, ma i serve farlo direttamente in SQL...

RobMcSword
01-09-2003, 08:49
rieccomi qua.
scusa il ritardo, ma mi si è rotto il pc.

con la terza volta spero di risponderti :D

allora,
nel testo che ho io, cito:
nelle dichiarazioni select è possibile solamente mettere
o l'asterisco,
o il nome della tabella.asterisco
o il nome del campo

dai però un'occhiata anche alla guida sql qui su html; in un'articolo fanno cenno a delle fantomatiche variabili...

Loading