0
これらの3つのカラムが自分のIDと一致するかどうかを調べるには、SQLを使用してルックアップを実行する必要があります。 JOINを試しましたが、列にはジョインポイントがありません。明確な相関はない。私もUNIONを試しましたが、それらは異なる数の列と異なる列のデータ型を持っています。基本的に私は値を得るために1つのテーブルに浸漬する必要があります。その値を使用して2番目のテーブルにディップし、追加の値を取得します。これらの値とハードコードされた値の両方を使用して、3番目のテーブルにディップして一意の値を取得します。その後、その一意の値を使用して4番目の表にディップし、一意の値に一致する結果を取得します。SQLと直接関係のないテーブルとの関連性
SELECT * FROM DEF_TABLE
WHERE DEF_ID IN (
SELECT DEF_ID FROM DESCRIPTION_TABLE
WHERE MY_TYPE = 'EQP'
AND COL_TYPE = a
AND COL_NAME = b
IN (SELECT COL_TYPE as a, COL_NAME as b FROM TYPE_TABLE WHERE COL_TYPE IN
(SELECT COL_TYPE FROM EQP_TABLE WHERE ID = 9000)));
EDIT:ここで私が現在持っているクエリである私はそれが動作する別々のコールとしてCOL_TYPEとCOL_NAMEチェックを実行していることがわかったが、非常にゆっくりと。別の方法がありますか?
SELECT * FROM DEF_TABLE
WHERE DEF_ID IN (
SELECT DEF_ID FROM DESCRIPTION_TABLE
WHERE MY_TYPE = 'EQP'
AND COL_TYPE IN (SELECT COL_TYPE FROM TYPE_TABLE WHERE COL_TYPE IN
(SELECT COL_TYPE FROM EQP_TABLE WHERE ID = 9000))
AND COL_NAME IN (SELECT COL_NAME FROM TYPE_TABLE WHERE COL_TYPE IN
(SELECT COL_TYPE FROM EQP_TABLE WHERE ID = 9000)));
はどうもありがとうございました!これは魅力的に機能しました。私はそのようなクエリの中で結合を試みようとは考えていませんでした。 – jDub9