2013-08-30 76 views
5

Tôi đang gặp một số khó khăn cố gắng để có được những điều sau đây để làm việc trong SQL Server:Làm thế nào để làm cho SELECT TIẾP THEO GIÁ TRỊ làm việc trong SQL Server?

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; 

Tôi nói:

"Incorrect syntax near the keyword 'SELECT'." 
"Incorrect syntax near the keyword 'UNIQUE'." 

gì chính xác là vấn đề và làm thế nào tôi có thể khắc phục điều này để làm việc trong SQL Server?

+1

Bạn đang cố gắng để làm gì? Cú pháp 'create table as' không phải là cú pháp SQL Server. Nó sử dụng 'select ... into' để tạo một bảng từ một truy vấn. –

+0

bạn có thể giải thích những gì bạn muốn đạt được không? – srid99

+0

'GIÁ TRỊ TIẾP THEO CHO 'http://technet.microsoft.com/en-us/library/ff878370.aspx –

Trả lời

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 - để có câu trả lời hay. – 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

Hãy thử điều này một -

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