2013-08-30 24 views
5

Ben almaya çalışırken bazı zorluklar yaşıyorum SQL Server çalışmak için aşağıdaki: söyleneneSELECT NEXT VALUE, SQL Server'da nasıl çalışır?

CREATE TABLE table_X AS 
    SELECT 
     NEXT VALUE FOR GROUP_A AS GROUP_ID, RISK_ID 
    FROM 
     (SELECT UNIQUE RISK_ID, FROM table_Y) SS; 

:

"Incorrect syntax near the keyword 'SELECT'." 
"Incorrect syntax near the keyword 'UNIQUE'." 
tam sorunun ne

ve nasıl işe düzeltebilirim SQL Server?

+1

? 'tabloyu oluştur' sözdizimi SQL Server sözdizimi değil. Bir sorgudan bir tablo oluşturmak için 'seçin ... içine 'kullanır. –

+0

Neyi başarmak istediğinizi açıklayabilir misiniz? – srid99

+0

'NEXT VALUE FOR' http://technet.microsoft.com/en-us/library/ff878370.aspx –

cevap

11
CREATE TABLE Person 
(
FirstName Varchar(50), 
LastName Varchar(50) 
); 

/* 
Insert Some Values Into Person 
*/ 

CREATE SEQUENCE CountBy 
    START WITH 1 
    INCREMENT BY 1 ; 

SELECT NEXT VALUE FOR CountBy OVER (ORDER BY LastName) AS ListNumber, 
    FirstName, LastName 
    INTO table_x 
FROM Person 
+2

+1 - iyi cevap için. – Devart

1
SELECT 
    NEXT VALUE FOR GROUP_A AS GROUP_ID, SS.RISK_ID 
INTO 
    table_X 
FROM 
    (SELECT DISTINCT RISK_ID FROM table_Y) SS 
0

deneyin bu bir - yapmanız çalıştığımız şey

IF OBJECT_ID ('dbo.table_X') IS NOT NULL 
    DROP TABLE dbo.table_X 

SELECT RISK_ID --, ..... columns 
INTO dbo.table_X 
FROM ( 
    SELECT DISTINCT RISK_ID 
    FROM dbo.table_Y 
) SS 

SELECT * 
FROM dbo.table_X 
İlgili konular