gpt4 book ai didi

sql-server - 如何在sql server中创建一个带有结果集的表

转载 作者:行者123 更新时间:2023-12-01 06:17:48 26 4
gpt4 key购买 nike

我想创建一个表来存储另一个查询的结果集。

我试过这个:

create table avgcost_product (
name varchar(50),
productnumber varchar(50),
averagecost money
)

创建表后我尝试了这个查询:

INSERT into avgcost_product SELECT * FROM
(SELECT p.[Name], p.ProductNumber,
CONVERT(varchar, cost.AvgCost,1) as 'Average Cost'
FROM Production.Product p
CROSS APPLY fnGetAvgCost(p.ProductID) as cost
WHERE cost.AvgCost IS NOT NULL
ORDER BY cost.AvgCost desc)

但它显示如下错误:

Msg 1033, Level 15, State 1, Line 284

The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP, OFFSET or FOR XML is also specified.

如何在我的表中写入我需要的数据?

最佳答案

只需从内部选择中删除 ORDER BY 或者您甚至可以进一步简化您的查询:

INSERT into avgcost_product 
SELECT p.[Name]
, p.ProductNumber
, CONVERT(varchar, cost.AvgCost,1) as 'Average Cost'
FROM Production.Product p
CROSS APPLY fnGetAvgCost(p.ProductID) as cost
WHERE cost.AvgCost IS NOT NULL

关于sql-server - 如何在sql server中创建一个带有结果集的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39101012/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com