Avatar billede thefatman Nybegynder
21. februar 2004 - 23:44 Der er 4 kommentarer og
1 løsning

Kombinerer 2 SQL sætninger - Joins

Hej Folkens

Jeg sidder her med 2 forskellige SQL sætninger så skal have sat sammen til en...

Her er de som følger:

SELECT DISTINCT Forum_svar.name FROM Forum_svar WHERE Forum_svar.IP = '" & request("IP") & "'"

"SELECT DISTINCT Forum_traade.name FROM Forum_traade WHERE Forum_traade.IP = '" & request("IP") & "'"


= Skal vælge et forskelligt name hver gang, fra tabellerne Forum_traade og Forum_traade hvor feltet IP har den samme værdi som request("IP")


God arbejdslyst :) hader joins i SQL

Håber det er nok beskrivelse...
Avatar billede eagleeye Praktikant
21. februar 2004 - 23:53 #1
Prøv sådan her:

SQL = "select DISTINCT Forum_svar.name as svar_name, Forum_traade.name as traade_name from Forum_svar left join Forum_traade on Forum_svar.IP = Forum_traade.IP where Forum_svar.IP = '" & request("IP") & "'"

Der er lavet et alias til begge kolonnerne .name for at man kan udksrive dem hver for sig, så hvis man vil udskrive:
Forum_svar.name  skal man skrive rs("svar_name") og ikke bare rs("name")
Forum_traade.name skal man skrive rs("traade_name")
Avatar billede thefatman Nybegynder
22. februar 2004 - 12:23 #2
mange tak Eagle, det virker ( det var bare AS jeg skulle tilføje :) ) heeh

Nåh, men den SQL sætning virker sku ikke helt efter min hensigt..... Håber du kan hjælpe mig, ska nok smide nogle flere points...

Jeg har mine to tabeller:
* Forum_traade
* Forum_svar

Jeg har mine to felter, i begge tabeller:
* IP
* Name

Det som jeg vil lave er en liste over de brugernavne som matcher mit request("ip"), altså den skal udskrive en liste som blev fundet, og der skal ikke være gentagelser, men sådan som SQLsætningen er nu kan jeg jo ikke bare hente ud, da der er 2 forskellige felter som skal hentes ud "Forum_svar.IP og Forum_traade.IP"

Hvordan kan jeg løse mit problem??
Avatar billede eagleeye Praktikant
22. februar 2004 - 12:34 #3
Ok, så lyder det mere som en UNION du skal havde fat på.

SQL = "SELECT DISTINCT name FROM (SELECT name FROM Forum_traade WHERE IP='" & request("IP") & "' UNION ALL SELECT name FROM Forum_svar WHERE IP='" & request("IP") & "')"
Avatar billede thefatman Nybegynder
22. februar 2004 - 12:43 #4
Det må jeg sige....det virker sku...

Jeg forstår ikke halvdelen af de commandoer du bruger, men det virker :)

Smid lige et svar..
Avatar billede eagleeye Praktikant
22. februar 2004 - 13:03 #5
Ok, her et svar :)

UNION sætte to tabeller efter hinanden hvorimod JOIN sætte dem ved siden af hinanden.
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