Accessで、あるテーブルから抽出してきた値を、別のテーブルでの場所の指定に使いたいと考えています。
以下のテーブルについて、フィールドとレコードを指定することで、指定した場所にある数値を取り出そうとしています。
######テーブル1
ID | 1 | 2 | 3 |
---|---|---|---|
1 | -0.023 | -0.018 | -0.016 |
2 | -0.04 | -0.032 | -0.029 |
3 | -0.145 | -0.118 | -0.104 |
そして、上記の表の中の位置を指定するために、別の下記のようなテーブルを用います。
#####テーブル2
ID | フィールドA | フィールドB | フィールドC | フィールドD |
---|---|---|---|---|
1 | 1 | 1 | 1 | 2 |
2 | 2 | 4 | 3 | 1 |
3 | 3 | 5 | 3 | 2 |
このテーブルのレコードについて、テーブルのフィールドCとフィールドDの値が、
それぞれテーブル1の行と列の指定に使われるというコードを作成したいと考えています。
ID3のレコードの場合、フィールドCが「3」、フィールドDが「2」となるために、
テーブル1の行から「3」、列から「2」が選ばれて「-0.118」の値が選択されます。
これをテーブル2のすべてのレコードについて行いたいです。
SQL
1 2SELECT [SELECT [フィールドC] FROM [テーブル2] /*ここでテーブル2の値をテーブル1でのフィールド指定番号として取り出す*/] FROM [テーブル1] WHERE ([ID]="[SELECT [フィールドD] FROM [テーブル2]")/*ここでテーブル2の値をテーブル1での行指定のためのインデックス番号として取り出す*/;
「行列を指定してその部分の値を取り出す」という方法を検索して得られた質問事例のURL(https://oshiete.goo.ne.jp/qa/431372.html)から参照したコードをもとに、今回の検索方法に合わせてこのようなコードを作成してみたのですが、[SELECT [フィールドC] の演算子がありません、というエラーが返ってきます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/29 05:08