こんにちは、別のテーブルの 2 つの列の間にある値に基づいて、テーブルからデータを取得したいと考えています。以下の SQL で私の目的を説明する必要があります。
SELECT * FROM TABLE 1 WHERE 1.FIELD1 BETWEEN
(SELECT 2.RANGE_FROM FROM TABLE 2) AND (SELECT 2.RANGE_TO FROM TABLE 2)
エラーが発生しているため、これは機能しません:
Error: SQL0811N The result of a scalar fullselect, SELECT INTO statement, or VALUES INTO statement is more than one row. SQLSTATE=21000
(State:21000, Native Code: FFFFFCD5)
両方のサブクエリが複数の行を返すため、これは明らかです。したがって、エラーなしで上記の機能を実行する SQL を書きたいと思います。プラットフォームはIBM DB2
.
編集:
わかりました、条件を使用して2つのテーブルを結合することでこれを解決したと思います:
SELECT * FROM TABLE1 A, TABLE2 B WHERE A.FIELD1 BETWEEN B.RANGE_FROM AND B.RANGE_TO
ただし、さらにテストが必要です。