2017-03-22 13 views
0

製品:Sybase ASEの11/12/15/16Sybaseの、すべての行を表示しますが、列のデータを表示しないとき、重複

私は別のアプリケーションによって呼び出されるストアドプロシージャを更新するために探しています、アプリケーションの変更はオプションではありません。必要なものは、最良の例で説明されています。

現在の結果:

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 

私は、カーソルを行うことができます知っているが、そこに10,000レコードの周りにあり、それは熟練していないようです。 selectコマンドを探しているときは、データベース内のデータを変更しないでください。

+0

あなたは、テーブル内のデータまたはSELECT文の出力を変更するために欠けている他のソリューションに基づいていましたか? – JSR

+0

これは実際にはSQLでは動作しません。あなたはフロントエンドでそれをしなければなりません。 SQLテーブルは表形式であるため、NULL値が含まれている場合はすべての行の列が空になるだけです。これはあなたの場合ではありません。 – marcothesane

+0

出力を変更します。 –

答えて

0

これを調べると、カーソルを使用せずに動作するソリューションが見つかりました。

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 

素晴らしい作品と溶液がSybase SQL Select Distinct Based on Multiple Columns with an ID

関連する問題