1

私は少し奇妙な状況にあります。これは、フロント エンドからのユーザー プロシージャまたは udf/スカラー関数の呼び出しを許可しないサード パーティ アプリケーションです。

唯一のオプションはSQLを書くことであり、以下は私のデータがどのように見えるかです。最初の写真には間違いがあり、最後の PID は 1 で、2 番目の写真は 2 であると想定されていました。

ここに画像の説明を入力

私が必要としているのはこれです。

ここに画像の説明を入力

これは、この Advantage Database Server 9 で UDF/cursor を使用して簡単に実行できますが、選択肢がありません。本当に可能かどうかはわかりません。Sybase には list と呼ばれる関数があり、この種の作業を非常に簡単に行うことができますが、ここではわかりません。

アプリケーションは組み込み関数を呼び出すことができます。

4

2 に答える 2

1
declare @table table
(
   PID integer,
   Medicine varchar(10)  )

insert into @table values (1, 'ABC')
insert into @table values (2, 'ABC')
insert into @table values (1, 'DEF')
insert into @table values (2, 'DEF')
insert into @table values (1, 'GHI')



SELECT DISTINCT a.PID,
                Medicine = STUFF((SELECT ',' + b.Medicine
                                    FROM @table b
                                    WHERE a.PID = b.PID
                                      FOR XML Path('')),1,1,'')
FROM @table a

結果:

**PID   Medicine**
1   ABC,DEF,GHI
2   ABC,DEF
于 2013-03-13T09:55:27.203 に答える