请找到以下查询并建议我避免大小写并重写以下查询。
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函数返回其第一个不为空的参数。
如果 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