3

他の列の内容を含む行数で列を作成する方法がわかりません。すべての列のカウントなし (*)

-------------------------    Output should be (NO COLUMN D):    ---------
|  A  |  B  |  C  |  D  |                                       | Count |
-------------------------                                       ---------
| foo | foo | foo | foo |                                       |   9   |
-------------------------                                       ---------
| bar | bar | bar | bar |
-------------------------
|  x  |  x  |     |  x  |
-------------------------
|  y  |     |     |  y  |
-------------------------

私は次のような多くのアプローチを試しました:

  • SELECT SUM(COUNT(A) + Count(B) + COUNT(C)) from SomeTable
  • SELECT COUNT(A + B + C)
  • SELECT COUNT(A,B,C)

正しい構文が見つかりません。誰でもこれで私を助けることができますか?

4

2 に答える 2

5
SELECT SUM(CASE WHEN A IS  NULL THEN 0 ELSE 1 END) 
     + SUM(CASE WHEN B IS  NULL THEN 0 ELSE 1 END) 
     + SUM(CASE WHEN C IS  NULL THEN 0 ELSE 1 END) 
     AS [TOTAL]
FROM dbo.SomeTable

デモ

于 2013-04-30T13:37:37.797 に答える
1

同じエラー昨日に出くわしました。これが私がそれを解決した方法です。

Select Count(sum) from
(select 
count(A) as sum
from sometable
where ISNULL(A,'')<>''
,select 
count(B) as sum
from sometable
where ISNULL(B,'')<>''
,select 
count(C) as sum
from sometable
where ISNULL(C,'')<>''
)t
于 2013-04-30T13:36:58.633 に答える