如何构造具有多个嵌套查询的公用表

时间:2015-10-18 20:40:31

标签: sql sqlite

我需要将一些视图转换为公共表,因为where条件需要动态更改。我只能使用公共表来处理一个子查询。是否可以使用多个,如下例所示

WITH ctTableA AS (Select * FROM tableA WHERE fldAID=A)

WITH ctTableB AS (Select * FROM tableB WHERE fldAID=A)

SELECT * FROM ctTableA
INNER JOIN ctTableB ON ctTableA.fldX=ctTableB.fldX

注意: - 我知道2个表的简单内连接查询可以用于此示例,但我的真实查询要复杂得多。

我特别要求的是;我们可以在公共表语句中包含多于1个语句

1 个答案:

答案 0 :(得分:2)

试试这个

WITH 
ctTableA AS (Select * FROM tableA WHERE fldAID=A), 
ctTableB AS (Select * FROM tableB WHERE fldAID=A)

SELECT * FROM ctTableA INNER JOIN ctTableB ON ctTableA.fldX=ctTableB.fldX