Sql server 2012 将数据插入现有SQL Server表中
将数据插入现有SQL Server表时遇到问题Sql server 2012 将数据插入现有SQL Server表中,sql-server-2012,sql-insert,Sql Server 2012,Sql Insert,将数据插入现有SQL Server表时遇到问题 IF OBJECT_ID('Coinmarketcap.dbo.tbl_ATR', 'U') IS NOT NULL DROP TABLE Coinmarketcap.dbo.tbl_ATR; SELECT [Ticker],[Date],[px_high], [px_low], [px_close],[yest_close], ATR_spd = iif([px_high] > yest_close, [p
IF OBJECT_ID('Coinmarketcap.dbo.tbl_ATR', 'U') IS NOT NULL
DROP TABLE Coinmarketcap.dbo.tbl_ATR;
SELECT
[Ticker],[Date],[px_high], [px_low], [px_close],[yest_close],
ATR_spd = iif([px_high] > yest_close, [px_high], yest_close) - iif([px_low] > yest_close, yest_close, [px_low]),
ATR1 = (iif([px_high] > yest_close, [px_high], yest_close) - iif([px_low] > yest_close, yest_close, [px_low])) / (iif(yest_close = 0 , 1 , yest_close))
FROM
(SELECT
*, yest_close = lag([px_close]) OVER (PARTITION BY Ticker ORDER BY [Date])
FROM
[Coinmarketcap].[dbo].[daily_data]) t
INTO
[Coinmarketcap].[dbo].[tbl_ATR]
ORDER BY
[Ticker] ASC, [Date] DESC
我不知道把放在语句的什么地方
关键字“INTO”附近的语法不正确
还尝试将插入到
语句中,但没有效果。只是有点不对劲。。。您不需要order by,因为您正在删除该表,并且它存储为无序集(因为这里没有应用索引)。我假设您希望从结果继承定义。这是通过使用选择。。。进桌。。。从表
而不是插入到表中。。。选择。。。从表中
IF OBJECT_ID('Coinmarketcap.dbo.tbl_ATR', 'U') IS NOT NULL
DROP TABLE Coinmarketcap.dbo.tbl_ATR;
SELECT
[Ticker],
[Date],
[px_high],
[px_low],
[px_close],
[yest_close],
ATR_spd = iif([px_high] > yest_close, [px_high], yest_close) - iif([px_low] > yest_close, yest_close, [px_low]),
ATR1 = (iif([px_high] > yest_close, [px_high], yest_close) - iif([px_low] > yest_close, yest_close, [px_low])) / (iif(yest_close = 0 , 1 , yest_close))
INTO [Coinmarketcap].[dbo].[tbl_ATR]
FROM (
SELECT
*,
yest_close = lag([px_close]) OVER (PARTITION BY Ticker ORDER BY [Date])
FROM [Coinmarketcap].[dbo].[daily_data]
) t
注意,你不能
INSERT INTO TABLE
SELECT FROM SomeTable
不需要先显式创建该表。我在上面使用了SELECT INTO
,因为您要在语句之前删除表