2013-03-12 83 views
0

我正在创建一个视图加入2个表。 我有一个列许可证,我已将其分组到一个单独的单元格与分隔符。许可证字段可能在引用表中对应的服务具有空值。所以在查看特定代理的许可证列时,它应该显示空值和分隔符。如何检查条件,同时在sql中创建视图

例如,代理id = 802,他的服务列带分离,看起来许多服务分组像

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

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

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`; 

回答

0

你可以使用IFNULL()转一个空值到含有'null'的字符串:

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

感谢...但是美丽是我已经发现了前C这个答案荷兰国际集团乌尔答案......但请继续乌尔我的未来问题的支持太... – Ree 2013-03-12 07:38:53