Avatar billede lund_dk Praktikant
21. december 2007 - 13:51 Der er 10 kommentarer og
1 løsning

Hurtig hjælp med komme separeret string

I en database har jeg en kolonne som hedder INTERESSER
denne kolonne indeholde en komme separeret streng
streng = "1, 3, 5, 6, 8, 10, 15"

Jeg skal så udskrive eks alle poster hvor nummer 10 er i INTERESSER..

Hvordan gør jeg det?
Avatar billede mitbrugernavn Praktikant
21. december 2007 - 13:55 #1
streng_arr = replace(streng," ","")
streng_arr = split(streng,",")
for i = 0 to ubound(streng_arr)
if streng_arr(i) = "10" then response.write "ok"
next
Avatar billede lund_dk Praktikant
21. december 2007 - 18:20 #2
Glemte lige at notere det skulle flettes ind i en SQL streng ;)
SELECT * FROM TABEL WHERE INTERESSER = xx
Avatar billede nielle Nybegynder
21. december 2007 - 18:27 #3
SELECT *
FROM dinTabel
WHERE interesser = '10' OR
    interesser LIKE '10, %' OR
    interesser LIKE '%, 10' OR
    interesser LIKE '%, 10, %'
Avatar billede nielle Nybegynder
21. december 2007 - 18:28 #4
I virkeligheden frarådes det normalt at man laver felter som ser sådan ud. I stedet bør interesser være skildt ud som en separart tabel med en række per interesse per person.
Avatar billede nielle Nybegynder
21. december 2007 - 18:30 #5
Et trick som kunne simplificere SQL'en fra før er hvsi du har ',' i begge ender:

streng = ", 1, 3, 5, 6, 8, 10, 15,"

for så kunne den se sådan ud:

SELECT *
FROM dinTabel
WHERE interesser LIKE '%, 10, %'
Avatar billede softspot Forsker
21. december 2007 - 19:17 #6
og uden at gøre noget ved data kunne man:

SELECT *
FROM dinTabel
WHERE ', ' + interesser + ',' LIKE '%, 10, %'
Avatar billede lund_dk Praktikant
22. december 2007 - 10:35 #7
Lige et side spørgsmål

Jeg har dette SQL output, hvor jeg ved én post den matcher, men den post udskrives 10 gange.. hvorfor?

se www.lund.dk/exp/mvsql.jpg


SELECT brugere.id, brugere.brugernavn, brugere.status, brugere.fodselsdato, brugere.navn, brugere.region, brugere.profilbillede, brugere.profilbilledenavn FROM brugere INNER JOIN brugerveninde ON brugere.ID=brugerveninde.brugerid WHERE brugere.aktiveret = 1 and (brugere.brugernavn LIKE '%lund%' OR brugere.navn LIKE '%lund%') ORDER BY brugere.status desc
Avatar billede lund_dk Praktikant
22. december 2007 - 10:39 #8
Glem ovenstående, var mig der havde lavet en fejl ;)
Avatar billede nielle Nybegynder
22. december 2007 - 11:13 #9
Uhm, hvorfor accepterede du mitbrugernavn's svar?
Avatar billede lund_dk Praktikant
22. december 2007 - 11:59 #10
Ups, jeg var for hurtig.. var self dig der skulle have dem..
Skal jeg oprette et andet spm, hvor du får point?
Avatar billede nielle Nybegynder
23. december 2007 - 06:54 #11
Nahh, mon ikke jeg overlever uden. ;^)

Jeg tillod mig såmæn bare at undre mig en smule.
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
Kurser inden for grundlæggende programmering

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