选择后给表格命名

Mar*_*k T 13 sql-server select stored-procedures

在存储过程MS SQL中我的查询是:

SELECT *  
FROM ContentReportRequests a,UserPreferences d
WHERE  a.UserID = d.UserID and a.ID =@ID
Run Code Online (Sandbox Code Playgroud)

我想给结果表一些名字.我怎样才能做到这一点 ?

我想把它拉到ADO.Net DataSet.tables ["NAME"]

Dam*_*ver 36

我可以想象你可能意味着的一些事情.

如果要保留此结果集,以便在多个以后的查询中使用,您可能正在寻找SELECT INTO:

SELECT * into NewTableName
FROM ContentReportRequests a,UserPreferences d
WHERE  a.UserID = d.UserID and a.ID =@ID
Run Code Online (Sandbox Code Playgroud)

NewTableName新名称在哪里,将创建一个新的(永久)表.如果您希望该表在完成后消失,请在名称前加上a #,以使其成为临时表.

或者,您可能只是想将其吸收到一个更大的查询中,在这种情况下,您将考虑将其作为子选择:

SELECT *
FROM (SELECT *  
FROM ContentReportRequests a,UserPreferences d
WHERE  a.UserID = d.UserID and a.ID =@ID
) NewTableName
WHERE NewTableName.ColumnValue = 'abc'
Run Code Online (Sandbox Code Playgroud)

或CTE:

WITH NewTableName AS (
    SELECT *  
    FROM ContentReportRequests a,UserPreferences d
    WHERE  a.UserID = d.UserID and a.ID =@ID
)
SELECT * from NewTableName
Run Code Online (Sandbox Code Playgroud)

最后,您可能正在谈论将结果集拉入例如ADO.Net DataTable,并且您希望自动设置名称.我不确定那是否可行.