Since SQLite does not support RIGHT OUTER JOINS I pose the following challenge (read: invitation to do my work for me):
Refactor this query so it no longer utilises SQLite-unsupported constructs like RIGHT/FULL OUTER JOINs.
SELECT strings.*, translations.text FROM translations INNER JOIN language ON translations.language_id = language.id RIGHT OUTER JOIN strings ON translations.string_id = strings.id WHERE (language.handle = 'english')
I sense it can be achieved with subqueries or by pivoting the tables and performing a LEFT OUTER JOIN but my attempts have failed; my SQL’s not what it used to be.
Here’s a query builder outline showing the applicable schema: http://dl.getdropbox.com/u/264612/sql-refactor.PNG
First to crack it gets an e-hug from dekz
The following is untested.
I think this will give you all strings with the matching translation text where a suitable translation exists in English. Is that what you are trying to get?