如何在sql中创建视图时检查条件

时间:2013-03-12 05:43:09

标签: mysql sql view null

我正在创建一个加入2个表的视图。 我有一个列许可证,我将其分组到一个带有分隔符的单元格。许可证字段可以具有引用表中相应服务的空值。因此,在查看特定代理的许可证列时,它应该与分隔符一起显示空值。

例如,代理id = 802,他的服务列与许多服务组合在一起,其分隔符看起来像

Mututal Funds||Investments||Life Insurance||Personal Loan
123456       ||NULL       ||34567         ||NUL

其中投资和persoanl贷款的许可证值为NULL,但我得到的是 123456 || 34567 空值自动被拒绝...但我需要将Null包含在结果集中...我的查询是

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER 
VIEW `v_agent_service` AS 
select `a`.`agent_id` AS `agent_id`,
       group_concat(`a`.`license`separator '||') AS `license`,
       group_concat(`s`.`service_name` separator '||') AS  `service_names` 
from 
(`agent_service` `a` left join `service` `s` 
on((`s`.`service_id`  = `a`.`service_id`)))
group by `a`.`agent_id`;

1 个答案:

答案 0 :(得分:0)

您可以使用IFNULL()将空值转换为包含'null'的字符串:

group_concat(IFNULL(`a`.`license`, 'NULL') separator '||') AS `license`,