Sql Sybase,显示除don'以外的所有行;复制时不显示列数据

Sql Sybase,显示除don'以外的所有行;复制时不显示列数据,sql,sap-ase,Sql,Sap Ase,产品:Sybase ASE 11/12/15/16 我希望更新一个被不同应用程序调用的存储过程,因此更改应用程序不是一个选项。所需内容最好通过示例加以说明: 目前的结果: type | breed | name ------------------------------------ dog | german shepherd | Bernie dog | german shepherd | James dog | husky | Laura

产品:Sybase ASE 11/12/15/16

我希望更新一个被不同应用程序调用的存储过程,因此更改应用程序不是一个选项。所需内容最好通过示例加以说明:

目前的结果:

type | breed            | name
------------------------------------
dog  | german shepherd  | Bernie
dog  | german shepherd  | James
dog  | husky            | Laura
cat  | british blue     | Mr Fluffles
cat  | other            | Laserchild
cat  | british blue     | Sleepy head
fish | goldfish         | Goldie
我需要的是在重复项上清除第一列的数据。例如,上述数据应如下所示:

type | breed            | name
------------------------------------
dog  | german shepherd  | Bernie
     | german shepherd  | James
     | husky            | Laura
cat  | british blue     | Mr Fluffles
     | other            | Laserchild
     | british blue     | Sleepy head
fish | goldfish         | Goldie

我知道我可以做一个游标,但有大约10000条记录,这似乎并不熟练。正在查找select命令,但不想更改数据库中的数据。

仔细考虑后,我找到了一个解决方案,该解决方案可以工作,并且不使用光标

select Type,breed,name
    into #DontDisplay
    from #MyDataList as a1
    group by breed
    Having breed= (select max(name)
                            from #MyDataList a2
                                where a1.breed= a2.breed)
    order by breed, name

    select n.Type,d.Breed,d.Name 
    from #MyDataList as d
    left join #DontDisplay as n
    on d.Breed= n.Breed and d.Name= n.Name
    order by Breed

很好,解决方案基于另一个解决方案

是否要更改表中的数据或select语句的输出?这在SQL中确实不起作用。你必须在前端这样做。SQL表是表格式的,这意味着每行中的列只有在包含空值时才为空。您的情况并非如此。希望更改输出。