手順

2017-01-18 20 views
-1

に最初の列以外を選択する方法これは私のコードですが、常に手順

CREATE PROCEDURE dbo.GetThreadDetails(@tid int) 
AS 
    SELECT 
     t.uid, fullname, text, dp 
    FROM 
     threads t, users u 
    WHERE 
     tid = @tid and t.uid = u.uid 

    EXCEPT TOP 1 

    SELECT 
     t.uid, fullname, text, dp 
    FROM 
     threads t, users u 
    WHERE 
     tid = @tid and t.uid = u.uid 
    ORDER BY 
     sno; 

There is error message

+0

エラーメッセージは何ですか? – NineBerry

+0

選択列からその列を削除するだけですか?それとも、最初の行以外のすべてを言っているのですか?私はこれがあなたが望むものだと思います。 CTEとROW_NUMBER() – scsimon

+0

を使用して、最初の行を除くすべて、bro – Fransiscus

答えて

1

EXCEPT TOP 1 SELECTEXCEPT SELECT TOP 1する必要がありますエラー。

つまり、ここでの設定操作は不要です。最初の行を除外するにはOFFSET句を使用してください:

CREATE PROCEDURE dbo.GetThreadDetails(@tid int) as 
select t.uid, fullname, text, dp 
from threads t , users u 
where tid = @tid and t.uid = u.uid 
order by sno 
OFFSET 1 ROWS; 
+0

おかげで、それは仕事:) – Fransiscus