テーブルの構造とデザインが正しく作成されていない古いシステムを維持しています。私はこれが "醜い"状況であることを知っていますが、私はそれに対処する必要があります。別のフィールドに基づくINNER JOIN AS400
私は複数のフィールドを含むテーブルTABLEAを持っています。 2つはMODEL(MODEL1とMODEL2)を表します。状態(STATUS)に基づいて、MODEL1とMODEL2は、以下の値を有する:
- ステータス= "A" THEN MODEL1 = "モデル" AND MODEL2 = ""
- STATUS <> "A" THEN MODEL1 = "" AND MODEL2 = "モデル"
私はモデル上の別のテーブルTABLEBとTABLEAを結合するクエリを実行する必要があります。状態によると、私は非空のモデルフィールドとテーブルを結合する必要があります。
SELECT *
FROM TABLEA A INNER JOIN TABLEB B
ON (A.MODEL1 || A.MODEL2) = B.MODEL;
をしかし、IF条件を使用してそれを行うためのエレガントな方法がある場合、私は疑問に思って:
私はMODEL1とMODEL2を連結して、それを解決することができます。 他の解決策を歓迎します。
サンプルテーブルのデータを表示してください。 –
@TimBiegeleisen、私の更新を参照してください – ehh