直接看SQL select y.id, y.name, z.XX_number from YYYY y, ZZZZ z 在实际情况中,可能会出现 y.id 和 y.name 为空值的情况。
但其实这两列并不为空,可以通过 z.XX_number关联其他的表来查询到具体值。目前考虑用case when 改写后 select
case y.id = -1
when (select id from AAA,BBB where .....) else y.id end ID,
case y.name = -1
when (select name from AAA,BBB where .....) else y.name end NAME,
z.XX_number
from YYYY y, ZZZZ z 发现两处CASE里的SQL语句完全一样,仅仅是取列的值上有点区别,请问有什么更好的办法么 ? 比如说取到 ID 后 顺便取出 NAME 再赋值给 y.name (没能想出SQL语句来)
本人水平有限,请各位出谋划策
但其实这两列并不为空,可以通过 z.XX_number关联其他的表来查询到具体值。目前考虑用case when 改写后 select
case y.id = -1
when (select id from AAA,BBB where .....) else y.id end ID,
case y.name = -1
when (select name from AAA,BBB where .....) else y.name end NAME,
z.XX_number
from YYYY y, ZZZZ z 发现两处CASE里的SQL语句完全一样,仅仅是取列的值上有点区别,请问有什么更好的办法么 ? 比如说取到 ID 后 顺便取出 NAME 再赋值给 y.name (没能想出SQL语句来)
本人水平有限,请各位出谋划策
case
when y.id = -1 then (select id from AAA,BBB where ..... and rownum = 1) else y.id end ID,
case
when y.name = -1 then (select name from AAA,BBB where .....and rownum = 1) else y.name end NAME,
z.XX_number
from YYYY y, ZZZZ z