我正在維護一箇舊系統,其中表的結構和設計未正確創建。我知道這是一個「醜陋」的情況,但我需要處理它。基於其他字段的INNER JOIN AS400
我有一個表TABLEA包含多個字段。其中兩個代表MODEL(MODEL1和MODEL2)。基於狀態(STATUS),MODEL1和MODEL2具有下列值:
- STATUS = 「A」 THEN MODEL1 = 「模型」 AND MODEL2 = 「」
- STATUS <> 「A」 THEN MODEL1 = 「」AND MODEL2 =「模型」
我需要執行一個查詢,我將TABLEA與模型上的另一個表TABLEB連接在一起。根據狀態,我需要加入非空模型字段的表格。
我可以通過連接MODEL1和MODEL2解決它:
SELECT *
FROM TABLEA A INNER JOIN TABLEB B
ON (A.MODEL1 || A.MODEL2) = B.MODEL;
但我不知道是否有一種優雅的方式使用IF條件去做。 歡迎任何其他解決方案。
請顯示樣本表數據。 –
@TimBiegeleisen,請參閱我的更新 – ehh