组我下面的查询:甲骨文空值问题与
SELECT EMAIL.MAILADDRESS, COUNT (DISTINCT CUSTOMER.CUSTOMER_ID) distinct_count
FROM ( SELECT CUSTOMER_ID,
TRUNC (MAX (UPDATE_DATE)) AS UPDATE_TARIHI,
TRUNC (MIN (INSERT_DATE)) AS DATA_ENTRY_DATE,
'YES' AS MAILADDRESS
FROM ELECTRONIC_ADDRESS
WHERE ADDRESS_TYPE = 'ELECTRONIC'
GROUP BY CUSTOMER_ID) EMAIL
RIGHT OUTER JOIN
CUSTOMER
ON (EMAIL.CUSTOMER_ID = CUSTOMER.CUSTOMER_ID)
GROUP BY EMAIL.MAILADDRESS
我加入电子邮件(子查询-incoludes“E” AS MAILADDRESS)和客户表。 有些客户不具有的emailadress所以我认为结果应该是像belowe条款:
MAILADDRESS DISTINCT_COUNT
YES 158945
NULL 76345
但是当我运行此查询时,只显示第一行(其电子邮件地址是YES)
如果我将EMAIL.MAILADDRESS子句更改为选定列中的nvl(EMAIL.MAILADDRESS,“否”)并逐个分组,查询运行完美。 但我无法解决问题,因为该查询是从Business Objects Universe生成的,所以我无法更改该查询。
我们写这个部分:
SELECT CUSTOMER_ID,
TRUNC (MAX (UPDATE_DATE)) AS UPDATE_TARIHI,
TRUNC (MIN (INSERT_DATE)) AS DATA_ENTRY_DATE,
'YES' AS MAILADDRESS
FROM ELECTRONIC_ADDRESS
WHERE ADDRESS_TYPE = 'ELECTRONIC'
GROUP BY CUSTOMER_ID
,然后构建一个合适的加入这个部分和客户表之间的关系。
我该如何解决问题?为什么Oracle不显示空值?
如果你看一下在第一个查询后,你会看到这个部分在“右外连接”的左侧。 – Allan