拼命寻找解决方案。我有基本的表和转换表,需要选择加入但是当没有换行时 - >选择默认的lang翻译。
我有餐桌产品……
一种解决方案是 JOIN 翻译表两次:
JOIN
SELECT p.*, COALESCE(t1.name, t2.name) name FROM products p LEFT JOIN products_tr t1 ON t1.product_id = p.id AND t1.lang = 'es' INNER JOIN products_tr t2 ON t2.product_id = p.id AND t1.lang = 'en'
该 LEFT JOIN 尝试 带来对应的记录 es 翻译,而 INNER JOIN 选择默认值。那么 COALESCE() 呼叫返回 es 翻译(如果可用),否则为默认值。
LEFT JOIN
es
INNER JOIN
COALESCE()