理解を深めるために、例の表を使用して質問を改善しました
次の行を持つ 3 つのテーブルがあります。
TABLE1 t1 TABLE t2 TABLE t3
ID NAME OBS ID HW_VER ID SERIAL
----------------- ----------- ------------
1 | Name1 | Obs1 1 | HWVer1 5 | Serial5
2 | Name2 | Obs2 2 | HWVer2 6 | Serial6
3 | Name3 | Obs3 3 | HWVer3 7 | Serial7
4 | Name4 | Obs4
5 | Name5 | Obs5
6 | Name6 | Obs6
7 | Name7 | Obs7
ここで、2 つの条件が満たされたときに ID、名前、OBS を選択したいと思います。
- id は t2 または t3 に存在します (両方には存在しません)。
- t2 または t3 属性 (例: t2.HW_VER='HWVER1') のいずれかを参照し、両方を参照することはありません
私はこのようなことをしましたが、それは間違っています:
SELECT DISTINCT t1.id, t1.name, t1.obs
FROM table1 t1, table2 t2, table3 t3
WHERE t1.id IN (t2.id, t3.id) AND t3.serial='Serial6';
これにはユニオン、外部テーブル、またはビューを使用できません。さらに質問がある場合はお知らせください。
あなたの答えをありがとう、私はあなたの時間を本当に感謝しています..