Avatar billede kring Nybegynder
19. juli 2001 - 00:12 Der er 12 kommentarer og
1 løsning

SQL-Problemer

Hej eksperter....

Jeg har 2 tabeller; én der indeholder et medlemsnr og et tilhørende medlemsnavn
og en anden tabel der har en afsender og modtager (det er medlemsnr fra den anden tabel)... Nu er mit problem at jeg gerne vil have min sqlstatement til hente alle beskeder til en bestemt modtager (SELECT * FROM BESKED-TABEL WHERE MODTAGER = 1) Dette virker også fint, men i min tabel har jeg nu modtager og afsender stående som et tal... Jeg vil gerne have disse tal skiftet ud med de tilhørende navne, som kan findes i medlemstabellen...

Er det muligt at gøre dette via SQL??
Avatar billede medions Nybegynder
19. juli 2001 - 00:17 #1
hmm... kan du ikke prøve at forklare det lidt mere enkelt *G* :-)
Avatar billede kring Nybegynder
19. juli 2001 - 00:24 #2
*HEH* Jeg kan prøve...

Medlems-Tabel:
---------------------------
| Medlemsnr | Medlemsnavn |
---------------------------
|    2      |  Morten    |
---------------------------
|    3      |  Mette    |
---------------------------

Besked-Tabel:
--------------------------------------
| Modtager | Afsender | Besked      |
--------------------------------------
|    2    |    3    | Hej med dig  |
--------------------------------------

SELECT * FROM Besked-Tabel WHERE Modtager = 2
giver følgende resultat:
--------------------------------------
| Modtager | Afsender | Besked      |
--------------------------------------
|    2    |    3    | Hej med dig  |
--------------------------------------

Men jeg ville gerne have det til at give følgende resultat:
--------------------------------------
| Modtager | Afsender | Besked      |
--------------------------------------
|  Morten  |  Mette  | Hej med dig  |
--------------------------------------

Håber det blev mere tydligt nu.... =)
Avatar billede medions Nybegynder
19. juli 2001 - 00:30 #3
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=\" & Server.MapPath(\"db.mdb\") & \";UID=admin;PWD=;\"
Set rs = Server.CreateObject(\"ADODB.RecordSet\")
strSQL = \"SELECT * FROM Besked-Tabel WHERE Modtager = 2\"
rs.Open strSQL, Conn, 1, 3
if rs(\"modtager\") = 2 then
                                rs(\"modtager\")  = \"morten

                                rs.update
                                Response.Write \"svaret er nu blevet oprettet!\"
                                rs.Close
end if
Set rs = Nothing
Conn.Close
set Conn = Nothing
%>
Avatar billede kring Nybegynder
19. juli 2001 - 00:31 #4
Kunne godt tænke mig hvis jeg kunne gøre det i ren SQL... Altså uden if-sætning...
Avatar billede medions Nybegynder
19. juli 2001 - 00:33 #5
Så er jeg ked af at skuffe dig!
Det er så vidt muligt umuligt!
Avatar billede kring Nybegynder
19. juli 2001 - 00:35 #6
Jeg ved at man kan join 2 tabeller, men jeg kan bare ikke få det til at virke når det er 2 navne den skal finde.... Kan godt få den til at skrive Morten i modtagerfeltet, men den skriver stadig 3 i stedet for Mette i afsender-feltet...
Avatar billede medions Nybegynder
19. juli 2001 - 00:40 #7
hmmm... gav mig en ide!

kan man så ikke skrive JOIN tabel WHERE id = 2 AND JOIN table WHERE id = 3 ?
Avatar billede kring Nybegynder
19. juli 2001 - 00:42 #8
Har prøvet det, men jeg kan ikke få det til at virke... Den melder General SQL-Error... =(
Avatar billede medions Nybegynder
19. juli 2001 - 00:43 #9
hva\' så med:

SQL_WhereClause=\"Something\"

SQL_Argument = \"SELECT * FROM A LEFT JOIN B ON A.ID = B.ID WHERE \"&SQL_WhereClause
RS.Open SQL_Argument, conn, 0, 1
Avatar billede kring Nybegynder
19. juli 2001 - 00:48 #10
Det er det jeg har prøvet og det giver kun navnet på én af de 2 personer...
Avatar billede medions Nybegynder
19. juli 2001 - 00:49 #11
Her har jeg en tutorial til SQL! Det er en lektion om Joins!

prøv at læs den, den har en masse godt!
http://w3.one.net/~jhoffman/sqltut.htm
Avatar billede kring Nybegynder
19. juli 2001 - 00:53 #12
Takker.... Kigger på det...
Avatar billede medions Nybegynder
19. juli 2001 - 00:54 #13
Var så lidt! ;-)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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