您应该对 ProductID执行LEFT JOIN
of tblAllSellers
with 。tblBestSellers
如果tblBestSellers
给定的 ProductID 中有记录,则表示该产品是畅销书,否则不是。因此,您可以在CASE
最后一列的语句中使用此列BestSeller
。
SELECT
A.*,
CASE
WHEN B.ProductId IS NULL THEN 'N'
ELSE 'Y'
END 'BestSeller'
FROM
tblAllSellers A
LEFT JOIN tblBestSellers B
ON A.ProductId = B.ProductID
您将在另一个带有 JOIN 的查询中使用它,如下所示:
SELECT A.*
FROM
AnotherTable X
JOIN
(
SELECT
A.*,
CASE
WHEN B.ProductId IS NULL THEN 'N'
ELSE 'Y'
END 'BestSeller'
FROM
tblAllSellers A
LEFT JOIN tblBestSellers B
ON A.ProductId = B.ProductID
) AS Y
ON X.ProductId = Y.ProductID
如果您想将此查询的结果与来自另一个查询的结果连接起来,那么您可以按如下方式进行:
SELECT A.ProductId, A.COlumn1, A.Column2 ...
FROM
AnotherTable X
UNION
SELECT Y.ProductId, Y.Column1, Y.Column2..
FROM
(
SELECT
A.*,
CASE
WHEN B.ProductId IS NULL THEN 'N'
ELSE 'Y'
END 'BestSeller'
FROM
tblAllSellers A
LEFT JOIN tblBestSellers B
ON A.ProductId = B.ProductID
) AS Y
对于 UNION 场景,请确保两个 SELECT 语句中的列数、数据类型相同。