SELECT tl.text, t.default_text
FROM tbl_text AS t left join tbl_text_language AS tl
on t.text_id = 68
and t.text_id = t1.text_id
and tl.language_id = 1
Flyttas från databashanterare
2 svar · 219 visningar · startad av nkrantz
Har en språkdatabas i mysql. Uppbyggt så att i tabellen tbl_text så finns ett id samt en default text. I tabellen tbl_text_language ligger koppling mellan tbl_text och tbl_language, MAO:
tbl_text
text_id | default_text
tbl_text_language
text_id | langauge_id | text
tbl_language
language_id | name
Nu vill jag från ett text_id hämta antingen default_text eller text, beroende om det finns någon text...
Trodde att jag skulle kunna göra så att jag körde en fråga i stil med detta:
SELECT
tl.text,
t.default_text
FROM
tbl_text AS t,
tbl_text_language AS tl
WHERE
(
(t.text_id = 68)
OR
(tl.text_id = 68
AND
tl.language_id = 1)
)
Men den ville inte ge något resultat alls. Jag vill alltså ha ut både text och default_text om det finns, annars bara default_text.
Och eftersom anropet körs några gånger per sidvisning så skulle det vara bra om allt kommer med i en fråga! (Jag kan lösa det med två frågor, men det BÖR gå i en...)
Någon som vet?
// Nippe
SELECT tl.text, t.default_text
FROM tbl_text AS t left join tbl_text_language AS tl
on t.text_id = 68
and t.text_id = t1.text_id
and tl.language_id = 1
Flyttas från databashanterare
cool...
MEN, enligt http://www.webforum.nu/showthread.php?s=&postid=868497#post868497 skall den här tråden ligga i databashantere, det är den som enligt länken skall behandla mySQL. Och, ja, jag vet att mysql är en dbh och sql språket man kör, men ändå... En tydligare förklaring kanske... :birp