我正在处理报告构建器6i。
我有两张桌子
1- Company_info
2- Address_info
Comp_addr_code是company_info表中的外键,它是主键 Address_info table.Now我正在从comp_address_Code.but上的address_table中检索数据,在某些情况下,在Address_info表中前三列是空的。
我想要这些专栏' X'应该显示。我应该在我的SQL语句中进行哪些更改。我的Sql语句是:
SELECT COMP_CODE, COMP_NAME, COMP_ADDR_CODE,
FROM COMPANY_INFO, ADDRESS_INFO
WHERE COMP_CODE=:P_COMP_CODE
AND COMP_ADDR_CODE=ADDR_CODE
答案 0 :(得分:0)
使用COALESCE
,它会选择第一个非空值。即如果列值不为null,则返回列值,否则返回指定的默认值:
select coalesce(COMP_CODE,'X'),
coalesce(COMP_NAME,'X'),
etc
答案 1 :(得分:0)
如上所述,只有COMP_NAME可以为NULL;如果COMP_CODE或COMP_ADDR_CODE为空,那些行将不在结果集中。
NVL或COALESCE通常用于将空值替换为其他值,例如
SELECT
COMP_CODE,
nvl(COMP_NAME, 'X')
COMP_ADDR_CODE
FROM COMPANY_INFO,ADDRESS_INFO
WHERE COMP_CODE=:P_COMP_CODE
AND
COMP_ADDR_CODE=ADDR_CODE