これは私にとってかなりの口いっぱいです。私の課題の 1 つは、質問を定式化する方法がわからないことです。これは、タイトルからも明らかです。
私の問題を説明しようとします:
私はテーブルを持っています、A:
ID LocationID
11 185
12 185
13 206
そしてテーブルB:
ID AID Position Value
1 11 1 4
2 11 3 8
3 11 5 4
4 12 1 4
5 12 2 4
6 12 3 5
テーブル B は、ID
およびによってテーブル A に関連付けられていますAID
。次のフィルターを持つクエリを作成したいと思います:
Position = 1 AND Value = 4
andは、指定されたすべての基準を安定Position = 3 AND Value = 5
させる個別の ID のリストを提供します。A.ID
これは、INNER JOIN で 2 つのテーブルを結合する場合、必要なのはA.ID = 12
.
この問題を解決するための私自身の出発点は、次のようなものでした。
SELECT DISTINCT A.ID
FROM A
INNER JOIN B ON (A.ID = B.AID)
WHERE
A.LocationID = 185 AND
(B.Position = 1 AND B.Value = 4) OR
(B.Position = 3 AND B.Value = 5)
これは明らかに機能しません。これには明確な解決策があると思っていましたが、考えてみると、本当にそうではありません。
私はこの問題に少し困惑しており、検索でどのキーワードを使用すればよいかさえわからないため、解決方法の戦略を探すのに苦労しています.