我有一个正常工作的查询
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匹配),并且不能直接改变它。
答案 0 :(得分:2)
您可以将B分解为子查询并在那里过滤而不是在连接
SELECT A.*, B.*
FROM A
LEFT JOIN (
SELECT *
FROM B
WHERE COUNTRY = 'USA'
) B
ON A.ID = B.ID