webForumDet fria alternativet

Hjälp med en join (?)

5 svar · 350 visningar · startad av colione

colioneMedlem sedan juni 20014 421 inlägg
#1

Hej jag har två tabeller i min mysql 5 databas.

Den ena ser ut såhär:

|text|title|to|from|

to och from innehåller en siffra som återfinns i tabellern register, som förkortat ser ut såhär:

|id|anvandarnamn|

Nu vill jag alltså välja ut text, title samt användarnamnet som tillhör de olika siffrorna som finns i to och from.

@ndersMedlem sedan juni 200032 969 inlägg
#2
select text, title, r1.anvandarnamn as toname, r2.anvandarnamn as fromname
from tabell1
inner join register r1  on tabell1.to = r1.id
inner join register r2  on tabell1.from = r2.id

From är dock inget bra fältnamn, det är rätt så mycket reserverat. Eventuellt är också text reserverat, men det kanske inte är dina riktiga fältnamn?

colioneMedlem sedan juni 20014 421 inlägg
#3

Jag får följande fel:

phpmyadmin skrev:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'to = r1 . id inner join register r2 on mail . user = r2 . id
LIMIT 0, 30' at line 1

på frågan som ser ut såhär, jag har provat med backsticks ` tunt text också:

SELECT text , title, r1.anvandarnamn AS toname, r2.anvandarnamn AS fromname
FROM mail
INNER JOIN register r1 ON mail.to = r1.id
INNER JOIN register r2 ON mail.user = r2.id
LIMIT 0 , 30

From hette egentligen user, jag som skrev fel.

@ndersMedlem sedan juni 200032 969 inlägg
#4

to är också reserverat.

http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

colioneMedlem sedan juni 20014 421 inlägg
#5

Aj då, inte jag som har gjort databasen. Hur exakt ska jag backsticka den/escapea den för att få den att gå igenom egentligen?

@ndersMedlem sedan juni 200032 969 inlägg
#6

Om du absolut måste backticka, så borde det se ut så här:

SELECT text , title, r1.anvandarnamn AS toname, r2.anvandarnamn AS fromname
FROM mail
INNER JOIN register r1 ON mail.`to` = r1.id
INNER JOIN register r2 ON mail.user = r2.id
LIMIT 0 , 30

mvh

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)