I am a bit stumped on this one.

I have a products table with a standard auto number primary key, and a
descriptions table that is keyed off the product id and a language id
('en','es','zh_cn', etc)

I want to join the description table to the product table on a 1:0,1
basis, and if the users language is something other than english, I
want to use that language as the default but fall back on english.

I could do something like:

SELECT product.id, product.price, (SELECT d.description FROM
descriptions d WHERE d.product_id=product.id AND d.lang_id IN
(:1,'en') ORDER BY d.lang_id!='en' DESC LIMIT 0,1) as description
FROM product
WHERE product.category=:2

It works, but it sucks because I then don't know the language of the
result.  Of course I could add another sub select, but I feel like I
am missing some really simple way to just join the tables according to
the required condition.

Any help here would be appreciated.

Regards,
John Campbell
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to