29. september 2003 - 13:42Der er
26 kommentarer og 2 løsninger
Join problemer
Hej alle...
Jeg har 2 tabeller i min access db, den ene hedder hold_med og den anden traner, og i begge tabeller er der to kolonner de hedder hold_id og medlems_id
jeg skal så lave et udtræk fra begge tabeller på engang hvor den tager alle de hold_ider hvor der står et bestem session("medlem_id") og så tilsidst så skal den kun tage hvert hold_id en gang, det kan nemlig godt komme frem 2 gang..
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Jeg har en side hvor den skal udtrække nogle forummer for et medlem der er logget ind.. session("medlems_id")
Medlemmet kan både være spiller på et hold og træner for et hold..
Jeg har så 2 tabeller 'hold_med' & 'traener' begge tabeller indeholder rækkerne 'hold_id' & 'medlems_id' det forbinder dem henholdsvis til hvilket hold de træner eller hvilket hold de spiller på..
Nu vil jeg så lave et udtræk hvor den f.eks. finder medlemmet med session("medlems_id") = 20 og så udskriver alle hans hold, dog skal den ikke udskrive hold 1 2 gange hvis han både træner og spiller på holdet..
hvis dawin's ikke virker, så er der en metode, som mange nok vil mene er lidt fyfy :P
du laver et loop hvor du bygge en SQL streng op, med Mange AND NOT... ala:
strSQL "select * from traener where medlems_id = [id]" str2SQL = "Select * from hold_med where medlems_id = [id]" do while NOT strSQL.EOF variabel1 = str("hold_id") str2SQL = str2SQL & "AND NOT hold_id = variabel1" strSQL.movenext Loop Conn.Execute(str2SQL) '// bemærk efter loopet først, når strengen er bygget færdig.
Det er lidt grim kode, men det virker. (det hele er forresten princip-skrivning, den præcise kode går jeg ud fra at du selv kan bygge?)
Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Microsoft Access-driver] Det angivne felt "medlems_id" kan referere til mere end én tabel, der er vist i FROM-delsætningen i sætningen SQL
Skal man så skrive hold_med.medlems_id = session... and traener.medlems.id = sessio... ???
ahh ja, den kræver så at du hiver dupletterne ud fra den anden database... altså i træner vælger du bare per medlems id.... så får du et par stykke, så bruger du min fyfy metode, til at vælge lige netop dem fra, fra det andet kald. og så står du med dem fra træner i en hånd, og dem fra hold_med i den anden, og ingen af dem med 2 ens id'er :)
men det er som sagt meget grim kode. - men nogen gange kræver desperate situationer, desperate svar.
sql="select traener.hold_id, hold_med.hold_id from traener,hold_med where medlems_id=" & session("medlems_id") & " Group By traener.hold_id, hold_med.hold_id"
Den virkede ikke.. medlems_id kan referere til flere tabeller, og hvis jeg prøver at indsætte .. where traener.medlems_id=" & session("lv_medlem") & " and hold_med.medlems_id=" & session("lv_medlem") ..
Nu har jeg fundet min egen løsning med et array.. og så brug af myztics ide..
Så er her er der nogle point.. I får lov til at dele.. :)
Thomas
Synes godt om
Ny brugerNybegynder
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.