実現したいこと
複数項目が完全一致するSQL
-格納テーブル
P | Q |
---|---|
A | d1 |
A | d2 |
A | d3 |
B | d1 |
B | d2 |
B | d100 |
-検索テーブル | |
R | |
---- | |
d1 | |
d2 | |
d3 | |
-検索テーブル内のデータすべてに一致するAを検出したい |
データを格納しているaccessからExcelVBAでSQLでデータ取得しようとしています
発生している問題・分からないこと
SELECT文を書いているのですが、要求しているデータの取得ができません
複数項目が完全に一致するコードを書きたいです
アドバイス頂戴できれば幸いです
よろしくお願いします
該当のソースコード
sql = " SELECT t1.P " & _ "FROM 格納テーブル t1 " & _ "INNER JOIN 検索テーブル t2 " & _ "ON t1.Q = t2.R " & _ "GROUP BY t1.P " & _ ";"
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
Googleやteratail、Copilotに依頼したりしてみましたが狙いの結果が得られませんでした
補足
特になし
> 複数項目が完全に一致するコードを書きたいです
現状のコードで、「どのように」その条件が抽出可能だと考えた状況でしょうか?
「複数項目が完全一致」というのが曖昧です。
質問にどのような結果を求めたいのか追記して下さい。
[格納テーブル]において、フィールド[P]とフィールド[Q]の値の組み合わせは常にユニークである(同一の組み合わせが重複するレコードが同時に格納されることはない)のでしょうか。
質問文に記載のあるクエリーで取得できそうな気がしますが、
なにか解釈の余地があるんでしょうか
> 複数項目が完全に一致
なるほど。検索テーブルに現れる回数が件数の指定になっているという意味か
みなさんからたくさんの回答を頂戴して驚いております. ありがとうございます.
返信が遅くなり申し訳ありません、情報が足らないうえに表現がわかりにくい点も申し訳ありません.
現状のコードでは格納テーブルからフィールド[P], [Q]{{A, d1}, {A, d2}, {A, d3}, {B, d1},{B, d2}, {B, d100}}と検索テーブルのフィールド[R]{d1,d2,D3}で演算を行い, その演算結果から{{A, d1}, {A, d2}, {A, d3}}を取り出し, 値"A"を取り出すことを目指していました. 取り出せない気がするのは分かるのですが、取り出し方がわからず質問させて頂いた次第です.
格納テーブルはおっしゃる通りフィールド[P], [Q]はユニークで複合キーとして機能します.
関係の除算を調べてください。質問の意図と一致していますか?
回答ありがとうございます.
関係の除算調べてみました.
参考にしたページ
https://qiita.com/hidesroom/items/62374c29232ab1b15ca3
意図と近いですが、余りが出てもヒットする点が一致していません.
ですが、関係の除算はとても興味深いです.ゆっくりと読ませていただきます.
なるほど!格納テーブルの
Aが{d1, d2, d3}を持ってるって考えだったのか
回答1件
あなたの回答
tips
プレビュー