2017-01-18 4 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 SELECT должен быть EXCEPT 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

Смежные вопросы