SQL转换

时间:2011-11-15 20:42:01

标签: sql dbix-class

我有一个正常工作的查询

select A.*, B.*
from A left join B on A.id = B.id and B.country = 'USA'

现在使用左连接我只能放置1个条件(A.id = B.id)。所以我必须将B.country ='USA'放在其他地方。有没有解决方法?我可以使用子查询。

更新:我必须使用一个框架(DBIx :: Class),我在Schema中定义了单个条件(Id匹配),并且不能直接改变它。

1 个答案:

答案 0 :(得分:2)

您可以将B分解为子查询并在那里过滤而不是在连接

SELECT A.*, B.*
FROM A
LEFT JOIN (
SELECT *
FROM B
WHERE COUNTRY = 'USA'
) B
    ON A.ID = B.ID