Avatar billede larsdue Nybegynder
29. marts 2006 - 18:26 Der er 4 kommentarer og
1 løsning

Problematisk eller måske umulig JOIN?

Jeg har fået overdraget en database, hvorfra jeg skal udtrække nogle statistiske data for besøg på et website.
Hver gang en bruger besøger en side, bliver der knyttet en record til et SessionId, som viser hvilken side man besøgte og hvornår.
Dvs for et givent SessionId, vil man altså kunne se brugerens adfærd.
Overordnet ligger der så en tabel, som indeholder informationer om brugeren. I stedet for at lave en relations tabel mellem BrugerId og SessionId, så er der i stedet et stort tekstfelt på brugertabellen, hvor SessionId'erne så ligger i en komma separeret liste. Meget upraktisk, men sådan er det nu en gang lavet.

Spørgsmålet er nu, om det kan lade sig gøre at konstruere et SQL join, som giver mig de statistiske data for hvert besøg, altså for hvert SessionId i den komma separerede liste i bruger tabellens tekstfelt?????

Eller vil jeg være nødsaget til at lave noget kode, som henter listen af SessionId'er ud og så laver et SQL kald for hvert???

/Lars
Avatar billede trer Nybegynder
29. marts 2006 - 23:12 #1
select bla, bla, bla
from table1 as t1 inner join table2 as t2
on charindex(t1.kolonne,t2.kolonne)>0

men mht performance.... tror ikke at du skal forvente quick and snappy response her...
Avatar billede arne_v Ekspert
30. marts 2006 - 01:53 #2
on charindex(',' + t1.kolonne + ',', ',' + t2.kolonne + ',') > 0

tror jeg, men det bliver performance ikke bedre af
Avatar billede ldanielsen Nybegynder
30. marts 2006 - 08:47 #3
lytter
Avatar billede trer Nybegynder
30. marts 2006 - 17:45 #4
Arne> - du har ret, delimiter skal indkluderes i søgestrengen såfremt et sessionid kan være en substring af en anden sessionid.  Kan den ikke det, så kan delimiter undlades.
Avatar billede larsdue Nybegynder
31. januar 2011 - 20:37 #5
Kan ikke huske om "trer"s svar var det rigtige, men nogle fortjener nogle point for knap fem års venten ;-)
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