Mam tabelę:
CREATE TABLE `u_cities_test0` ( `city_id` int(11) NOT NULL DEFAULT '0', `countrycode` char(2) NOT NULL DEFAULT '', `languagecode` char(2) NOT NULL DEFAULT '', `name` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`city_id`,`languagecode`), KEY `countrycode` (`countrycode`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Chcę wybrać nazwę miasta z danego kraju, np:
SELECT name FROM u_cities_test0 WHERE countrycode="pl"
Jednak chcialbym wybrac miasta w danym państwie przetlumaczone na dany język, np.
SELECT name FROM u_cities_test0 WHERE countrycode="pl" AND languagecode="es"
Jeśli natomiast nie ma tłumaczenia dla danego miasta to chcialbym wybrac nazwę tego miasta w języku angielskim (en).
Przyklad:
(name, countrycode, languagecode)
Warsaw PL EN
Warsawaas PL ES //przykladowe tlumaczenie dla hiszpanskiego jezyka, nie chce mi sie szukac poprawnego
Cracov PL EN
I powinno wybrac:
Warsawaas
Cracov
Probowalem m.in. cos takiego:
SELECT name FROM u_cities_test0 WHERE countrycode="pl" AND languagecode=IF(name!="","pl","en")
Jednak wybiera tylko te rekordy, ktore sa przetlumaczone na PL.
Pozdrawiam