To co chcę osiągnąć tym zapytaniem, to pobranie rekordów w wybranej wersji językowej lub, jeśli dany rekord nie został jeszcze przetłumaczony, pobranie wersji domyślnej polskiej (0). Oto zapytanie:
SELECT `data_tb`.`id` AS `id`, `text_tb`.`language` AS `language` , `text_tb`.`name` AS `name` FROM `kcms_article` `data_tb` RIGHT JOIN `kcms_article_txt` `text_tb` ON ( `text_tb`.`id` = `data_tb`.`id` ) WHERE (`text_tb`.`language` = 1 OR `text_tb`.`language` = 0) GROUP BY `text_tb`.`id` DESC ORDER BY `data_tb`.`id` LIMIT 10
Zapytanie działa ok, kiedy dodam na końcu LIMIT. Listing:
id language name 1 1 testenglish 2 0 testes 3 0 artykułowy 4 1 ang 5 0 tytuł 6 0 cztery 7 0 długie 8 0 aaaaaaaaaa 9 1 socialtechniq 10 0 socjotechnika2
Kiedy nie dodam LIMIT na końcu, lub kiedy podany limit jest mniejszy niż liczba wszystkich rekordów otrzymuję coś takiego:
.
id language name 1 0 test11 2 0 testes 3 0 artykułowy 4 0 pol 5 0 tytuł 6 0 cztery 7 0 długie 8 0 aaaaaaaaaa 9 0 socjotechnika 10 0 socjotechnika2 11 0 wprowadzenie 12 0 ssssss 13 0 czynnik ludzki 14 0 cccccccccc 15 0 ttttttttttttttt 16 0 mmmmm
... czyli wszystkie rekordy w domyślnej wersji językowej :/
Moje pytanie jest takie: jak skonstruować to zapytanie, żeby niezależnie od wystąpienia LIMIT osiągnąć zamierzony efekt ?