查询中有四个表
Table a contains a_id , a_name
Table a_tl contains a_tl_id , a_id , language_id , a_disp_name
Table b contains b_id , a_id , b_name
Table b_tl contains b_tl_id , b_id , language_id , b_disp_name
我想在 a 和 a_tl 上做一个左外连接,在 b 和 b_tl 上做一个左外连接,
在结果表上做一个内连接。我写了以下查询
SELECT case a.a_disp_name
WHEN null THEN a.a_name
else a.a_disp_name
end AS a_name ,
case b.b_disp_name
WHEN null THEN b.b_name
else b.b_disp_name
end AS b_name ,
a_id ,
b_id
FROM a ,
a_tl ,
b ,
b_tl
WHERE a.a_id = a_tl.a_id (+)
AND b.b_id = b_tl.b_id (+)
AND a_tl.language_id = 2
AND b_tl.language_id = 2
AND a.a_id= b.b_id
此查询正在工作 language_id 存在于数据库中,如果对于特定值不存在,它将不起作用,即左外连接不起作用