0

通过以下查询,我正在创建一个新表。

select * from TableA, tableB, (another query to make new table)TableC
where condition

这使我的查询看起来很长而且很糟糕。不知道有没有办法做一个临时表以后查询。

例如基于上面的查询:

tableC = another query to make new table
select * from tableA, tableB, tableC
where condition
4

3 回答 3

4

CTE 是一种方法

With TableC as 
( SELECT ....
)
SELECT * from tableA, tableB, tableC
WHERE condition
于 2013-05-29T17:02:32.767 回答
1

你有两个选择:

于 2013-05-29T17:01:38.727 回答
1

如果是我,我会使用一个临时表来进行查询。

你可以做这样的事情;

SELECT TA.*, TB.*
INTO #TempTable
FROM TableA AS TA INNER JOIN TableB AS TB ON TA.ID = TB.ID
WHERE ......

然后,您可以将此表的详细信息用于任何目的;

SELECT *
FROM #TempTable

请记住,最后是很好的做法DROP

DROP TABLE #TempTable

SQL小提琴

于 2013-05-29T17:04:21.207 回答