0

多くの行を集計し、各列に値が含まれているかどうかを示す単一の文字列値を返すクエリを作成しようとしています。各列を調べる必要があり、列に「真」の値が含まれている場合は、そのことを示すために文字列の結果を連結します。

与えられた (SQL Server 2008):

      Col1 | Col2
行 1: 0 0
行 2: 0 1

「Col1には真がなく、Col2には真があります」という結果が必要です(コンマは関係ありません)。

CASEorIFステートメントを演算子と組み合わせる必要があると思いますANYが、これまでのところ、構文はわかりません。

4

1 に答える 1

2

次のクエリはこれらの結果を生成Col1 has no true, Col2 has trueします: データに対して:

SELECT CASE
          WHEN Col1Total = 0 THEN 'Col1 has no true'
          ELSE 'Col1 has true'
       END + ', ' +
   CASE
      WHEN Col2Total = 0 THEN 'Col2 has no true'
      ELSE 'col2 has true'
   END AS yourResult
FROM 
(
   SELECT SUM(Col1) AS Col1Total, SUM(Col2) AS Col2Total
   FROM yourTable
) AS t
于 2011-12-02T04:21:31.090 に答える