如何显示除第一个表行之外的所有行?

Val*_*yev 3 sql sql-server sql-server-2005

是否可以在sql server 2005中显示表中除第一行以外的所有行?我有这些数据:

---------------------------------
|  ID  |    Name                |
---------------------------------
|  1   |    John Smith          |
|  2   |    John Doe            |
|  3   |    John Thatcher       |
---------------------------------
Run Code Online (Sandbox Code Playgroud)

在我的查询中,我需要能够得到'John Doe'和'John Thatcher'.我不需要显示"ID"列,所以我不能在这里使用ROW_NUMBER,如下所示:

select Name from Customers where ROW_NUMBER() over (order by Id)>1
Run Code Online (Sandbox Code Playgroud)

请指教.

谢谢.

更新:澄清:我希望我的查询只返回Name列,但我不能使用表表达式,因为我使用查询作为字符串连接的一部分:

select stuff((select ', '+pfn.FullName from PlaintiffsFullNameView pfn where pfn.SuitId=s.Id for xml path('')),1,1,'') as "CoPlaintiffs"
Run Code Online (Sandbox Code Playgroud)

现在我需要将此查询转换为以连接方式返回除第一个原语之外的所有原语.

更新2:对不起搞砸了解释,让我重新尝试:我有一个西装表和一个原告表.(一对多)我要求显示每个套装与所有coplaintis连接."Coplaintiff"是第一套诉讼原告.我可以连接所有原告并将它们与相应的套装数据一起显示(全部在一行中),但我无法弄清楚如何连接所有的coplaintis并将它们显示为行列中的字符串.

Qua*_*noi 13

SELECT  Name
FROM    (
        SELECT  Name, ROW_NUMBER() OVER (ORDER BY id) AS rn
        FROM    Customers
        ) q
WHERE   rn > 1
ORDER BY
        id
Run Code Online (Sandbox Code Playgroud)

更新:

从你的解释:

SELECT  Suit.*,
        FirstPlantiff.*,
        (
        SELECT  cp.Name AS [text()]
        FROM    Plantiff cp
        WHERE   cp.id <> FirstPlantiff.id
                AND cp.SuitID = Suid.ID
        ORDER BY
                cp.id
        FOR XML PATH('')
        ) AS Coplantiffs
FROM    Suit
CROSS APPLY
        (
        SELECT  TOP 1 *
        FROM    Plantiff p
        WHERE   p.SuitID = Suit.ID
        ORDER BY
                p.id
        ) FirstPlantiff
Run Code Online (Sandbox Code Playgroud)


Cod*_*ick 8

SELECT Name 
FROM Customers 
WHERE  ID <> (SELECT TOP 1 ID 
              FROM Customers 
              ORDER BY ID)
Run Code Online (Sandbox Code Playgroud)

或者因为Id永远不会改变,所以你可以做ID <> 1