Avatar billede witte Nybegynder
28. februar 2001 - 18:00 Der er 17 kommentarer og
1 løsning

SQL? ... :)

Hej - Jeg har 2 tabeller en med beskeder og en med personer. Tabellen med beskeder består af:
*besked_id*bruger_id*beskeden*dato*oprettet_af_id*
og personer af:
*id*navn*
Jeg skal nu have skrevet alle beskederne for hver person.... Jeg har følgende nu:
(SELECT * FROM besked WHERE bruger_id = id)
og så en lykke, men hvordan får jeg navnet med fra persontabellen? .... Altså så jeg får udskrevet noget i stil med(eks):
/Oprettet af BENT den 17/01/1999
/Hejsa BENT går det godt

Håber i forstår
Avatar billede dalbjerg Nybegynder
28. februar 2001 - 18:03 #1
SELECT * FROM personer WHERE bruger_id = \'\" & navn & \"\'\"


så skal du bare havde navnet, på brugen til at står i en string ved navn navn
Avatar billede witte Nybegynder
28. februar 2001 - 18:49 #2
Altså der jeg har nu ser sådan nu:

/Oprettet af 1111 den 17/01/1999
/Hejsa BENT går det godt

Det jeg skal have skiftet ud er bruger_id(1111) med navnet i personer.. Høø... ja..

<Klip>

Set rsBesked = conn.Execute(\"SELECT * FROM besked WHERE bruger_id =\"& Request(\"id\")& \" order by dato desc\")

DO WHILE NOT rsBesked.EOF

besked_id = rsBesked(\"besked_id\")
oprettet_af = rsBesked(\"oprettet_af\")
dato = rsBesked(\"dato\")
besked = rsBesked(\"besked\")

bla... bla.. bla...

rsBesked.MoveNext
LOOP

----

Ja, hvor indsætter jeg så det du skriver <dalbjerg>?
Avatar billede tpiil Nybegynder
28. februar 2001 - 19:13 #3
jeg svarer for dalbjerg:

Set rsBesked = conn.Execute(\"SELECT * FROM personer WHERE bruger_id = \'\" & navn & \"\'\")
Avatar billede dalbjerg Nybegynder
28. februar 2001 - 19:19 #4
oprettet_af  er det et id på brugeren?
Avatar billede gandalfthewhite Nybegynder
28. februar 2001 - 19:25 #5
Umiddelbart lyder det for mig som det du skal bruge er en join:
sSql = \"SELECT besked.*, personer.navn FROM besked INNER JOIN personer ON besked.bruger_id = personer.id WHERE besked.bruger_id =\"& Request(\"id\")& \" order by besked.dato desc\"

Så skulle du få beskederne sammen med navnet ud i samme recordset.
Avatar billede witte Nybegynder
28. februar 2001 - 19:46 #6
dalberg> JA...
Avatar billede dalbjerg Nybegynder
28. februar 2001 - 19:49 #7
Set rsBesked = conn.Execute(\"SELECT * FROM besked WHERE bruger_id =\"& Request(\"id\")& \" order by dato desc\")

DO WHILE NOT rsBesked.EOF

besked_id = rsBesked(\"besked_id\")
oprettet_af = rsBesked(\"oprettet_af\")
dato = rsBesked(\"dato\")
besked = rsBesked(\"besked\")
Set person = conn.Execute(\"SELECT * FROM personer WHERE bruger_id = \" & oprettet_af)
navn = person(\"navn\")
bla... bla.. bla...

rsBesked.MoveNext
LOOP

sådan
Avatar billede witte Nybegynder
28. februar 2001 - 19:50 #8
gandalfthewhite> Hmm, trækker den så ikke kun navnet på den bruger jeg ser beskederne fra? .. Jeg skal have navnet på de forskellige brugere der har skrevet beskederne...
Avatar billede witte Nybegynder
28. februar 2001 - 19:57 #9
dalbjerg> Mon ikke det istedet bør være:

SELECT * FROM personer WHERE id = \" & oprettet_af

Istedet for bruger_id...
Avatar billede dalbjerg Nybegynder
28. februar 2001 - 20:02 #10
jo selvfølgeligt... :o) min fejl...
Avatar billede witte Nybegynder
28. februar 2001 - 20:03 #11
oprettetaf = rsBesked(\"oprettet_af\")

Set person = conn.Execute(\"SELECT * FROM personer WHERE Id = \" & oprettetaf)

oprettet_af = person(\"navn\")

men så får jeg: \"Der er for få parametre. Der var ventet 1.\"
Avatar billede dalbjerg Nybegynder
28. februar 2001 - 20:08 #12
personer, er rettet til den rigtige table ikk
Avatar billede witte Nybegynder
28. februar 2001 - 20:10 #13
Joo... skal lige prøve noget... vender tilbage...
Avatar billede witte Nybegynder
28. februar 2001 - 20:17 #14
hmm.. kan ikke lige gennemskue.. hvad det kan være... :(
Avatar billede witte Nybegynder
28. februar 2001 - 20:19 #15
Kan der være noget med, at det er en tekst-streng?
Avatar billede dalbjerg Nybegynder
28. februar 2001 - 20:24 #16
æhh jo

Set person = conn.Execute(\"SELECT * FROM personer WHERE Id = \'\" & oprettetaf & \"\'\")
Avatar billede witte Nybegynder
28. februar 2001 - 20:28 #17
Så får jeg...

Enten er BOF eller EOF sand, eller den aktuelle post er blevet slettet. Den anmodede handling kræver en aktuel post.
Avatar billede witte Nybegynder
28. februar 2001 - 20:52 #18
Ohh... har fundet fejlen... takker for hjælpen
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