을 --- 게시 공식 도움말 1 단계 와 13 행 동적 및 12 행 정적 값 이후 ---- === SQL 쿼리SQL 쿼리 도움말 PLS .. DDL 및 DML
다음으로 SQL 테이블 만들기USE [abc]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[IC_Raw_In](
[I_Date] [varchar](50) NULL,
[I_O_P] [money] NULL,
[I_O_H] [money] NULL,
[I_O_L] [money] NULL,
[I_C_O] [money] NULL,
[I_Serial] [numeric](18, 0) NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
--- 2 단계 - === ... 대량으로 IC_Raw_In 테이블에 데이터를 삽입 나는 여기에 대량의 데이터를 사용해야 할 때마다 대량의 데이터를 얻을 수 있기 때문에
BULK
INSERT dbo.IC_Raw_In
FROM 'C:\ABC\InputData.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = ''
)
GO
--- 3 단계 --- ==== AMPS12_C
에 대한 SQL 뷰 생성USE [abc]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[AMPS12_C] AS
WITH RankedPrices
AS
(SELECT i_serial , I_C_O, ROW_NUMBER() OVER (ORDER BY i_serial) AS rn
FROM IC_Raw_In)
SELECT a.i_serial, AVG(b.I_C_O) AS AMPS12_C
FROM RankedPrices AS a LEFT JOIN
RankedPrices AS b ON b.rn BETWEEN a.rn-11 AND a.rn
GROUP BY a.i_serial
GO
--- 4 단계 --- === 쉽게 출력보기에 대한 v_AMP_C으로 뷰를 생성합니다
create view v_AMP_C as
SELECT dbo.IC_Raw_In.I_Date, dbo.IC_Raw_In.I_O_P, dbo.IC_Raw_In.I_O_H, dbo.IC_Raw_In.I_O_L, dbo.IC_Raw_In.I_C_O, dbo.AMPS12_C.AMPS12_C,
dbo.IC_Raw_In.I_Serial
FROM dbo.IC_Raw_In INNER JOIN
dbo.AMPS12_C ON dbo.IC_Raw_In.I_Serial = dbo.AMPS12_C.i_serial
--- 5 단계 보류 (내가 여기에 도움을 찾고 있어요)
이제 SQL 쿼리를 작성하여 아래 열거에 대해 C12WR이라는 새로운 열로 결과를 가져 오십시오.
C12WR 열의 처음 11 개 행과 C12WR 열의 12 번째 행을 "AMPS12_C"에있는 정적 값을 사용하여 제외 (NULL 사용)하고 싶습니다.이 값은 데이터를 가져올 때마다 변경됩니다 내 테이블 그래서 때마다 동적으로 변경됩니다. 그리고 AMPS12_C 열에는 테이블 끝까지 13 행 후 아래 수식을 계산해야합니다.
C12WR 열의 13 번째 행 후 = (위의 행의 값 (즉, curlunt 행 번호 -1) C12WR에서 * 11 + 현재 행 값에서 I_C_O 열)/12
가능한 한 http://stackoverflow.com/questions/5331279/sql-query-help-after-13throw-dynamic-and-in-12th-row-static-values-with-formul과 http://stackoverflow.com/questions/5344954/sql-query-help-after-13throw-dynamic-and-in-12th-row-static-values-with-a-formul –