절차

2017-01-18 1 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

첫 번째 행을 제외한 모든 것을 사용하십시오. – 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