13. november 2001 - 23:15Der er
18 kommentarer og 1 løsning
SQL sætning
Jeg har et problem?
Har har en side hvor bruger kan afkrydse en form med checkbokse om hvilke sider bruger skal se. Det er fint nok. Bruger skal have mulighed for at redigere disse valg. Jeg har en tabel i min database der hedder SIDE hvor jeg har en beskrivelse af hvilke sider der kan vælges tabelen indeholder en SIDEID og en LINK og en TITLE. Når bruger første gang tilføjer sine valg registreres det i en tabel der hedder SIDEVALG. Tabellen indeholder SIDEVALGID, BRUGERID og SIDEID. Nu kommer problemet. Jeg skal nu hente alle rækker fra SIDE.SIDEID og de skal sammenlignes med SIDEVALG.SIDEVALGID. Jeg skal altså lave et udtryk fra database hvor jeg kan se alle SIDE.SIDEID ALLE SIDE.TITLE der skal hentes alle de registrede SIDEVALGID ved BRUGERID. fra fra SIDE.SIDEID
Der bliver investeret massivt i AI. Teknologien er mere tilgængelig end nogensinde, og ambitionerne er høje. Alligevel oplever mange virksomheder, at resultaterne udebliver.
Slettet bruger
13. november 2001 - 23:16#1
den sidste linie er en fejl
Synes godt om
Slettet bruger
13. november 2001 - 23:17#2
Jeg har prøvet at lave en forespørgsel i Databasen med Access, men jeg har ikke kunne lave en forspørgsel der tager højde for flere brugere
Prøv med JOIN eller INNER JOIN, der er nogle begrænsninger i Access SQL.
Synes godt om
Slettet bruger
13. november 2001 - 23:58#6
jeg for ikke fejl med denne
db.open \"SELECT side.SideID AS side_SideID, side.Title AS side_title, Sidevalg.BRUGERID, Sidevalg.SideID AS Sidevalg_SideID FROM side LEFT JOIN Sidevalg ON side.SideID=Sidevalg.SideID Where Sidevalg.BRUGERID = \" & ID & \";\", dsn,1,3
Det eneste problem er så at hvis fx bruger 1 har valgt SIDEID 1,2,3,4 0g 5 og en anden har valgt 6,7 og 8 så er alle sideid valgt på de to brugere og så vil der ikke returneres et null ud for bruger 1
Synes godt om
Slettet bruger
13. november 2001 - 23:59#7
Det eneste problem er så at hvis fx bruger 1 har valgt SIDEID 1,2,3,4 0g 5 og en anden har valgt 6,7 og 8 så er alle sideid valgt på de to brugere og så vil der ikke returneres et null ud for bruger 1 hvor bruger 1 ikke har valgt sideID
Prøv med denne, den skulle kun tage sideID hvor BrugerID = ID:
db.open \"SELECT side.SideID AS side_SideID, side.Title AS side_title, Sidevalg.BRUGERID, Sidevalg.SideID AS Sidevalg_SideID FROM sidevalg RIGHT JOIN Side ON sidevalg.sideID = Side.sideID WHERE sidevalg.brugerID=\" & ID & \";\",dsn,1,3
Synes godt om
Slettet bruger
14. november 2001 - 00:17#9
Problemet er at den ikke returnere alle poster fra Side.SideID Where BrugerID = ID hvis nu alle Side.SideID er valgt i Sidevalg. hvis nu bruger 1 har valgt ½ delen af de Sidevalg der er og Bruger 2 har valgt den anden ½ del så vil den ikke returnere alle SideID og give SIDEvalg værdien Null. Det vil den godt hvis der kun er registreret en bruger som ikke har valgt alle sidevalg
Synes godt om
Slettet bruger
14. november 2001 - 00:27#10
Det kan være jeg skal tænke alternativt. jeg kan jo kun sende en værdi i en checkbox men jeg kunne tilføje flere databaseværdier ved at adskille dem med et tegn og så lave en split funktion. Så kommer jeg bare til at få en masse redundans i min database.
Synes godt om
Slettet bruger
14. november 2001 - 00:29#11
Hovsa, jeg kom til at acceptere dit svar eagleeye det var ikke meningen.
Jeg har jo ikke reelt fået en løsning til mit spørgsmål
skal jeg lige oprette et spm så du kan få points tilbage..
Men jeg forstår ikke helt hvad du skriver...muligvis fordi jeg ikke helt forstår problmmet. Så vidt ejg kan se får du alt hvad du skal bruge: hvilke sider brugeren har valgt.
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.