1

私はasp.netプロジェクトを開発しています。2 つの異なる条件でデータベースをフィルター処理し、それぞれを円グラフで表示する必要があります。したがって、1 つのクエリで 2 つの列を取得する必要があります。

列 1 :

select COUNT (*) 'OAS' from atmterminalfile (nolock) where Atstatu='2' and atlinestat ='1'

列 2 :

select COUNT (*) 'OFS'  from atmterminalfile (nolock) where Atstatu='2' and atlinestat ='2'

私は多くのソリューションを検索し、UNIONを試しましたが、結果はこれでした

|      OAS       |
|----------------|
| Column 1 Count |
| Column 2 Count |

私はこれが必要です。

|      OAS         |        OFS       |
---------------------------------------
| Column 1 Count   |  Column 2 Count  |
4

2 に答える 2

5
select sum(case when atlinestat = 1 then 1 else 0 end) 'OAS',
       sum(case when atlinestat = 2 then 1 else 0 end) 'OFS' 
from atmterminalfile (nolock) 
where Atstatu='2' 
and atlinestat in (1,2)
于 2013-09-24T08:33:21.977 に答える
0

受け入れられた答えは機能しますが、これはクエリの主なケースのように見えPIVOTます.

select * 
from atmterminalfile 
pivot (count(id) for atlinestat in ([1],[2])) p
于 2013-09-24T09:01:48.673 に答える