このトピックについて2つのSTUFF
質問があります。
最初の質問はSTUFF
SQLServerの機能です。2番目の質問はSTUFF
、Oracle(8i)の関数についてです。
,
質問1:詰め込みたい列からを削除するにはどうすればよいですか?
例、与えられた表:
ID Country Payment Product
12345 USA Cash Red wine
12345 USA Cash
12345 USA Cash
このスクリプトを使用すると、次のようになります。
select distinct Country, Payment,
stuff(isnull((select ', ' + x.Product from #temp x where x.ID = t.ID
group by x.Product for xml path ('')), ''), 1, 2, '') as Product
ID Country Payment Product
12345 USA Cash , Red wine
結果を削除して表示のみを表示するにはどうすればよいRed wine
ですか(コンマ(、)を削除しますか?)
注意:私はこのSTUFF
関数を書きませんでした。それはOMGポニーという名前の誰かによって書かれています。
質問2:質問1と同じですが、構文はOracleにあります。
select distinct ID, Country, Payment, WM_CONCAT(Product) AS Products
from
(
select distinct ID, Country, Payment, Product
from temp table
)x
group by ID, Country, Payment
結果だけを表示したいRed wine
(コンマ(、)を削除)。