以下のクエリを見つけて、ケースを避けて以下のクエリを書き直すことを提案してください。
select A.ID, CASE B.ID IS NOT NULL THEN B.ABID
ELSE B.XYID END AS ABXYID
FROM Table_A A, Table_B B
WHERE A.PK = B.PK
パフォーマンスを向上させるために、上記のクエリを書き直してください。
前もって感謝します。
以下のクエリを見つけて、ケースを避けて以下のクエリを書き直すことを提案してください。
select A.ID, CASE B.ID IS NOT NULL THEN B.ABID
ELSE B.XYID END AS ABXYID
FROM Table_A A, Table_B B
WHERE A.PK = B.PK
パフォーマンスを向上させるために、上記のクエリを書き直してください。
前もって感謝します。
探しているものとは異なりますが、COALESCE関数はnullではない最初の引数を返します。
B.IDがNULLのときにB.ABIDもNULLの場合、次のようにコードを書き直すことができます。
select A.ID,
COALESCE(B.ABID, B.XYID) AS ABXYID
FROM
Table_A A,
Table_B B
Where
A.PK=B.PK
ああ、あなたは本当に適切な内部結合を使用する必要があります:
select A.ID,
COALESCE(B.ABID, B.XYID) AS ABXYID
FROM
Table_A A
INNER JOIN Table_B B
ON A.PK=B.PK