□投稿者/ 韋駄天 -(2019/08/23(Fri) 11:49:57)
| 分類:[データベース全般]
SQLServer を使用しています。 以下の Table_A, Table_B のテーブルがある場合に、
Table_A CODE A B C
Table_B ST CODE ST 1 A 1 2 A 2 3 B 3 4 B 2 5 B 3 6 C 1
ST の値それぞれのカウント(個数)を求める Table C CODE ST1 ST2 ST3 A 1 1 0 B 0 1 2 C 1 0 0
この場合以下のようにするしかないのでしょうか?
SELECT CODE, ( SELECT COUNT(*) FROM Table_B WHERE ST = 1 ) AS ST1, ( SELECT COUNT(*) FROM Table_B WHERE ST = 2 ) AS ST2, ( SELECT COUNT(*) FROM Table_B WHERE ST = 3 ) AS ST3, FROM Table_A
それとも
SELECT CODE, COUNT(TB.ST = 1) AS ST1, COUNT(TB.ST = 2) AS ST2, COUNT(TB.ST = 3) AS ST3 FROM Table_A AS TA LEFT OUTER JOIN Table_B AS TB ON TB.CODE = TA.CODE
のようにできるのでしょうか? (参照:https://qiita.com/zb185423/items/f20b21ca041989410b5f)
|
|