首页 新闻 搜索 专区 学院

sql的相关问题

0
悬赏园豆:10 [已解决问题] 解决于 2017-07-13 13:42

select GROUP_CONCAT(ifnull(real_name,user_name)) from users where st_id=a.st_id

 

哪位大神解释一下这句sql的意思,划线的地方有点不明白???谢谢

sql
1705的主页 1705 | 初学一级 | 园豆:102
提问于:2017-07-13 10:35
< >
分享
最佳答案
1

 你不懂的应该是IFNULL()函数和group_concat()函数吧?

首先是IFNULL函数:

比如:IFNULL(real_name,user_name)          

如果real_name不是NULL,返回real_name,否则它返回user_name。

假设real_name不是NULL的话 那你的这个SQL在执行完IFNULL函数后应该是:

select GROUP_CONCAT(real_name) from users where st_id=a.st_id

 

group_concat()函数的话可以参考这个文章:

group_concat()函数总结

收获园豆:10
大可怕 | 菜鸟二级 |园豆:223 | 2017-07-13 10:46
其他回答(3)
0

拿到名字 ,做成用逗号 分隔的字符串  类似 " 张三,李四,王五"

Постой! | 园豆:829 (小虾三级) | 2017-07-13 12:08
0

IFNULL(real_name,user_name)          

如果real_name不是NULL,返回real_name,否则它返回user_name。

假设real_name不是NULL的话 那你的这个SQL在执行完IFNULL函数后应该是:

select GROUP_CONCAT(real_name) from users where st_id=a.st_id

 

group_concat()函数的话可以参考这个文章:

group_concat()函数总结

fcyh | 园豆:568 (小虾三级) | 2017-07-13 12:21
0

ifnull(expr1,expr2)

      假如expr1不为NULL,则IFNULL()的返回值为expr1; 否则其返回值为expr2。IFNULL()的返回值是数字或是字符串,具体情况取决于其所使用的语境

可以参考这个:http://jingyan.baidu.com/article/6b182309516bc5ba58e159f0.html

金琥 | 园豆:2570 (老鸟四级) | 2017-07-13 13:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册