MYSQL中如何查找出父类下面的所有子类 急!

MYSQL中如何查找出父类下面的所有子类 急!,第1张

function getcategory($pid=0,$arr=array(),$level=0)

{

$data = dbGetList("record","pid=".$pid)

foreach($data as $v)

{

$str=""

for($i=0$i<$level$i++)

{

$str.="|-"

}

$v['name']= $str.$v['name']

$arr[] = $v

$arr = getcategory($v['id'],$arr,$level+1)

}

return $arr

}

select A.pid as 编号,A.name as 州,B.国家,pid

from A

inner join

(select id,name as 国家,pid form A where pid ==0) B --筛选出国家的行,在连接

on A.pid =B.pid

where A.pid = '0'

试下这个可以吗?把A替换成表名,B不管

:号加上变量在hibernate是做为SQL语句中的参数占位符用的,比如 :name ,最后就可以用query.setParameter("name","jack")

你这SQL中加了这个@r:= ? ,问号前面有空格,估计这有问题。

而且就因为这个原因,觉得你这种语句在hibernate中不能顺利执行。

可以调用存储过程来执行这个查询。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5930194.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-08
下一篇 2023-03-08

发表评论

登录后才能评论

评论列表(0条)

保存