在没有 JOIN 的 WHERE 子句中使用 CTE
Use CTE in the WHERE clause without JOIN
我想搜索 WHERE 子句中的值列表。该列表在另一个 table 中,可以通过 CTE 返回。示例:
参考文献table
ref_number
Other irrelevant columns
abcdEF
row
cdefGH
row
WITH References AS (SELECT ref_number FROM References)
SELECT t.ref,t.* FROM my_tables t
WHERE t.ref IN References
这会引发错误,我相信 IN 需要 table.
中格式正确的集合
我想在 IN 子句之后列出引用,而不是手动输入它们,或者以其他方式确定子句来读取该条件。如果可能的话,我想要 PostgreSQL 和 SQL Server 的解决方案。非常感谢。
你不能只说“IN CTE”,你必须说“IN (select x from CTE)”或者在适当的情况下简单地将 CTE 加入查询的其余部分。
我想搜索 WHERE 子句中的值列表。该列表在另一个 table 中,可以通过 CTE 返回。示例:
参考文献table
ref_number | Other irrelevant columns |
---|---|
abcdEF | row |
cdefGH | row |
WITH References AS (SELECT ref_number FROM References)
SELECT t.ref,t.* FROM my_tables t
WHERE t.ref IN References
这会引发错误,我相信 IN 需要 table.
中格式正确的集合我想在 IN 子句之后列出引用,而不是手动输入它们,或者以其他方式确定子句来读取该条件。如果可能的话,我想要 PostgreSQL 和 SQL Server 的解决方案。非常感谢。
你不能只说“IN CTE”,你必须说“IN (select x from CTE)”或者在适当的情况下简单地将 CTE 加入查询的其余部分。