質問

MY TABLE name=maklumat

 |------------------|
 |DUN|JANTINA|JUMLAH|
  ------------------
 |A  |MELAYU |42    |
 |A  |CINA   |24    |
 |B  |CINA   |22    |
 |------------------|

I want to call jantina as my header table. The below table is what i want to view. Is it possible to view the below data just by using sql.

NEEDED RESULT

 |---------------|
 |DUN|MELAYU|CINA|
  ---------------
 |A  |42    |24  |
 |B  |0     |22  |
 |---------------|
役に立ちましたか?

解決

Try this using CASE WHEN,

select  DUN
    ,SUM(Case When JANTINA = 'MELAYU' Then JUMLAH else 0 end) as MELAYU
    ,SUM(Case When JANTINA = 'CINA' Then JUMLAH else 0 end) as CINA
 from maklumat
 group by DUN

DEMO

他のヒント

You can use case

select DUN,
sum(case when jantina='MELAYU' then jumlah else 0 end) MELAYU,
sum(case when jantina='CINA' then jumlah else 0 end) CINA
from maklumat
group by DUN

fiddle

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top