SQL 为整个查询设置别名

SQL Alias an entire query

我有一个查询,我正在尝试为其分配一个别名,以便我可以使用我通过将一些列与其他两个查询连接在一起而创建的主键。代码如下所示。

SELECT Table1.Col1, Table1.Col2, Table2.Col3 .... Table1.Col1+Table1.Col2+Table2.Col3 AS 'NewPrimaryKey'
FROM Table1
JOIN Table2
ON Table1.Col1 = Table2.Col3

我可以为这个查询指定一个别名吗?或者最好将它与我的其他两个查询一起放入 Temp Table,然后跨三个表加入?

是的,正如其他人所建议的,您可以进行 CTE,例如

;WITH CTE1 AS
(
SELECT Table1.Col1+Table1.Col2+Table2.Col3 AS 'NewPrimaryKey'
FROM Table1
JOIN Table2
ON Table1.Col1 = Table2.Col3
)
SELECT XXX
FROM Yourtable 
LEFT JOIN CTE1 ON Yourtable.XX = CTE1.NewPrimaryKey