SQL を使用して、テーブル内の特定の値の合計を見つけようとしています。サンプル テーブルは次のとおりです。
+-------+-------+-------+-------+-------+-------+-------+
| ID | Co1 | Va1 | Co2 | Va2 | Co3 | Va3 |
+-------+-------+-------+-------+-------+-------+-------+
| 01 | AA1 | 23.0| AA2 | 11.2| AA3 | 328.34|
| 02 | AA2 | 27.0| AA3 | 234.56| AA4 | 23.8|
| 03 | AA1 | 409.01| AA4 | 234.98| NULL | NULL |
+-------+-------+-------+-------+-------+-------+-------+
そのような「コード」列と値が35あります。
必要なのは、コードが 1 つしかないテーブルを選択することです。コードAA3が必要だとすると、これは次のようになります(コード列はここでは必要ありませんが、値を取得した場所を示すためだけです):
+-------+-------+--------+
| ID | Code | Value |
+-------+-------+--------+
| 01 | AA3 | 328.34|
| 02 | AA3 | 234.56|
| 03 | AA3 | 0|
+-------+-------+--------+
そして、後でコード AA1 と AA2 の合計など、いくつかのコードの合計を含む別の (別の) クエリが必要になります。
+-------+---------+
| ID | Value |
+-------+---------+
| 01 | 34.2|
| 02 | 27.0|
| 03 | 409.01|
+-------+---------+
「WHERE」を使用して 35 列ごとに実行することを考えていましたが、それは本当に面倒で、あまり効率的ではないようです。SQLを介してそれを行う方法があるかどうか疑問に思っていました(ifステートメントを使用してExcelで行うことができ、驚くほどうまくいきます)。
行を「検索」する方法があった場合、列名を返し、その列名を使用して番号を取得しますか?
さらに情報が必要な場合はお知らせください =)