Avatar billede linroc Nybegynder
24. august 2004 - 09:45 Der er 5 kommentarer og
1 løsning

sql select på field nummer

Hej,

er der nogen der angive hvrodan man laver en select hvor man bruger field nummer i stedet for field navn ??

Det jeg leder efter er lidt ala det her:

SELECT * FROM Persons
WHERE field1='aa' OR field2='aa'

Så vil jeg bare gerne i stedet for at angive fieldnavne field1 og field2 angive deres feltnummer.

Et alternativ kunne være at selecte alle felter i where clausen - eks:
SELECT * FROM Persons
WHERE *='aa'

og det skulle så returnere alle records hvor et af felterne er lig 'aa'.

Jeg håber det giver mening

/claus
Avatar billede arne_v Ekspert
24. august 2004 - 09:46 #1
Det kan du ikke i SQL.
Avatar billede linroc Nybegynder
25. august 2004 - 10:31 #2
Det var jeg efterhånden også begyndt at tro - må gå den slagne vej med OR'erede SELECT statements :-(
Avatar billede arne_v Ekspert
28. august 2004 - 18:39 #3
Bedste workaround vil være at lave en tabel struktur som:

persons
-------
id (PK)
navn

person_attribs
--------------
id (PK, FP->persons)
attrib (PK)
val

Fordi så kan du lave:

SELECT *
FROM persons
WHERE id IN (SELECT id FROM person_attribs WHERE val='X')
Avatar billede arne_v Ekspert
28. august 2004 - 18:39 #4
ok ?
Avatar billede pierrehusted Nybegynder
01. september 2004 - 11:15 #5
Hvis det er tekstfelter, så er en mulighed at sætte Full-Text indexering på tabellen.

Med Full-Text indexering kan du lave en søgning sådan her:

SELECT * FROM Persons
WHERE contains(*, 'aa')

Den vil så finde alle de poster, hvor et af felterne indeholder ordet 'aa'.


Alt efter datamængden, kan man sætte Full-Text til at opdatere sig selv løbende, eller lave et job, som opdaterer indexet hvad nat eller hver tredie time.


Du kan læse mere om Full-Text index på http://msdn.microsoft.com/sql/default.aspx
eller i Books Online (som installeres sammen med SQL-server).
Avatar billede linroc Nybegynder
10. november 2004 - 08:59 #6
det ligner det jeg ledte efter :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester