我想转换一个包含实际值的IN子句,而不是使用join子句的子查询。
select max(c1) from t1 where t1.id IN (
1,2,3,4......1000
)
and t1.c2 = something
如何将此查询转换为join子句?
最佳答案
您可以使用inlineVALUES
构建数据集,并使用别名为该数据集提供名称和列名。
SELECT
yourData.id, map.b
FROM
yourData
INNER JOIN
(
VALUES
(1,2),
(2,4),
(3,8)
)
map(a,b)
ON map.a = yourData.a