Avatar billede steent Nybegynder
20. juli 2005 - 00:49 Der er 6 kommentarer og
1 løsning

Vælg alle pånær et bestemt felt

PÅ en MSSQL 2000 har jeg en database med en tabel der hedder [Item]. Jeg skal så lave følgende:

SELECT DISTINCT * FROM [Item] WHERE (Nogle søgekriterier)

Problemet er så at denne tabel indeholder et felt af datatypen Image og så kan man jo ikke bruge DISTINCT.

Findes der en mulighed for at gøre noget ala følgende:

SELECT DISTINCT * "EXCEPT DET FELT DER IKKE SKAL MED" FROM [Item] WHERE (Nogle søgekriterier)

Ja jeg ved at jeg bare kan selecte alle felter et af gangen, så det svar tæller ikke :)
Avatar billede arne_v Ekspert
20. juli 2005 - 07:50 #1
det mener jeg ikke at du kan

sorry
Avatar billede steent Nybegynder
20. juli 2005 - 08:39 #2
Næ, efter over 10 år med MSSQL har jeg da heller aldrig stødt på muligheden, eller for den sags skyld behovet.

Problemet er bare at der er en hulens masse felter i tabellen og alle skal bruges, påmær det ene felt som er af datatypen Image. Endvidere kan tabellen ændre sig dynamisk i visse tilfælde...

Nå jeg må vel ud i et View eller noget Stored Procedure halløj.
Avatar billede arne_v Ekspert
20. juli 2005 - 08:42 #3
kan du ikke lade din applikation første gang query skal køre hente meta data
om tabellen, konstruerer SQL streng dynamisk og så genbruge den for alle efterfølgende
kald ?
Avatar billede steent Nybegynder
20. juli 2005 - 08:46 #4
Har selvfølgelig overvejet muligheden, problemet er bare at performance er et meget følsomt issue, da der er rigtigt mange besøgende og over 15 mill. poster i tabellen.
Avatar billede arne_v Ekspert
20. juli 2005 - 08:48 #5
hele pointen er jo at den kun skulle udføres en gang
Avatar billede steent Nybegynder
20. juli 2005 - 09:24 #6
Right

Lukker og slukker igen. Tak alligevel.
Avatar billede beef12 Nybegynder
20. juli 2005 - 09:49 #7
Hvis du nu er igang med at kode et eller andet, kunne du så ikke smide denne logik du ønsker ind i selve koden?

Først kunne du hente alle kolonnenavne vha. af denne sql-sætning:

select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = 'din_tabel'
and COLUMN_NAME <> 'image'

Skriv resultatet ind i en variabel med kommaer imellem kolonnenavnene
og derefter:

select "+myString+" from din_tabel
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



Seneste spørgsmål Seneste aktivitet
I dag 10:28 PDFEngine Af barth i Andet software
I går 22:40 Butte indhold i celler Af lurup i Excel
I går 15:24 Power Query Af djsimonsen i Excel
I går 14:43 Hvis ikke på liste, tilføj værdier til liste Af TheLibrarian i Excel
I går 11:33 Windows 11 Af ranni i Windows