Home  >  Article  >  Backend Development  >  求一个sql语句(有点难,求高手)

求一个sql语句(有点难,求高手)

WBOY
WBOYOriginal
2016-06-23 14:23:05903browse

本帖最后由 dz215136304 于 2013-07-28 11:58:31 编辑


id pid title
1   0   标题1
2   0   标题2
3   2   标题3
4   2   标题4
5   2   标题5
6   5   标题6

需求 将表里的数据都查出来 并且如果pid等于别的数据id的话 id那条数据自动生成个字段,字段的数据是pid连接起来的且通过,分割 ,效果如下

id pid title   pidss
1   0   标题1  
2   0   标题2  3,4,5
3   2   标题3
4   2   标题4
5   2   标题5  6
6   5   标题6

回复讨论(解决方案)

这没有什么复杂的

select a.*, pidss from tbl_name a left join  (select *, group_concat(id) as pidss from tbl_name where pid>0 group by pid) t on a.id=t.pid

不过当层次深的时候就不一定是你期望的了

过来看一看。

二楼的正确,用做链接保证不丢失数据,用group_cancat函数将单值属性连接起来编程多值属性。

group_cancat函数可以解决

group_concat

学习了,不错。

学习了,不错,本来我对这个还不太了解呢,这次了解了

学习了,不错学习了,不错

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn