0

すべての「はい」のレコードを 1 つのリストにまとめるにはどうすればよいですか? 理想的には XML またはネイティブ SQL 関数を使用して、単一の varchar リストに結合したい次のスクリプトがあります。これらの値は 1 または 0 のいずれかです。これらの値が 1 の場合にのみ表示されるようにします。

select
x.Energetic,
x.Undistressed,
x.Wellnourished,
x.Goodhygiene

From
health_x x

この例では、Energetic と Wellnourished が 1 でその他が 0 の場合、次のように表示します。

Energetic, Wellnourished
4

2 に答える 2

1

これは、条件付き連結を使用して行うことができます。

トリックは、区切り文字を正しく入れることです。,このバージョンでは、各文字列の前に置きstuff()、最初に出現したものを取り除くために使用します。

select STUFF((case when x.Energetic = 1 then ', Energetic' else '' end) +
             (case when x.Undistressed = 1 then ', Undistressed' else '' end) +
             (case when x.Wellnourished = 1 then ', Wellnourished' else '' end) +
             (case when x.Goodhygiene = 1 then ', Goodhygiene' else '' end),
             1, 2, ''
            )
from health_x x
于 2013-04-30T15:20:36.737 に答える