[英]How to get grand total of matched Left Join items in SQL Query
[英]sql left join get matched records with left join
如果指定了右表列值,如何仅基于右表中的列获取具有左连接的匹配记录。
例如。
SELECT A.* FROM A LEFT JOIN B ON A.COLUMN_1 = B.COLUMN_1 and B.COLUMN_1 IN (1,2)
-- in above case i want to get only matching records with B.COLUMN_1 is 1 or 2.
如果未指定B.COLUMN_1,则需要从左表获取所有记录。
SELECT
A.*
FROM
A
LEFT JOIN (
SELECT
B.*
FROM
B
WHERE
B.COLUMN_1 IN (1,2)
) BB ON A.COLUMN_1 = BB.COLUMN_1
您可以使用两种形式的UNION
来获取所有数据,例如
SELECT A.*
FROM A
LEFT JOIN B
ON A.COLUMN_1 = B.COLUMN_1
and B.COLUMN_1 IN (1,2)
UNION
SELECT A.*
FROM A
JOIN B ON A.COLUMN_1 = B.COLUMN_1
and B.COLUMN_1 IN (1,2)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.