Wymyslalem rozne opcje zapytania z mizernym skutkiem wiec postanowilem prosic Was o pomoc.
Mam dwie tabele;
mod_menu:
Kod
+-----------+
| Field |
+-----------+
| id |
| ident |
| id_parent |
| type |
| active |
| sort |
+-----------+
| Field |
+-----------+
| id |
| ident |
| id_parent |
| type |
| active |
| sort |
+-----------+
oraz
mod_menu_translations:
Kod
+-----------+
| Field |
+-----------+
| id |
| id_parent |
| title |
| content |
| lang |
+-----------+
| Field |
+-----------+
| id |
| id_parent |
| title |
| content |
| lang |
+-----------+
Pierwsza tabela zawiera rekordy roznych menu, ktore identyfikowane sa przez "ident", a druga tabela jest tlumaczeniem.
Chce sobie generowac tablice ze wszystkimi menusami na stronie jednym zapytaniem i tutaj zaczyna sie problem, poniewaz chce takze zrobic tak, ze w razie braku tlumaczenia jakiegos rekordu pobierane jest tlumaczenie z domyslnym jezykiem.
Tutaj zapytanie pobiera menu z jezykiem angielskim ale w razie braku tlumacznia nic nie pobiera.
SELECT mod_menu.*,mod_menu_translations.title FROM mod_menu,mod_menu_translations WHERE mod_menu.ident = "3" && mod_menu.active = "1" && mod_menu.id_parent = "0" && mod_menu_translations.lang = "en" && mod_menu_translations.id_parent = mod_menu.id ORDER BY sort,mod_menu_translations.title ASC
Jak zastosowac "CASE" w zapytaniu aby w razie braku wybranego tlumaczenia pobierane bylo tlumaczenie domyslne = pl ?
Probowalem rozne zapytania z "CASE" ale mi nie wychodzily.