sql语句查询一级分类下的二级分类以此类推

2020-12-02 12:21:16 字数 5030 阅读 1852

1楼:儒雅的栋

封装一个类:

use illuminate\database\eloquent\model;

class sort extends model/*** @param [sorts] $[需要被格式化的数据]* @param pid 当前分类的父类

*/public function gettree($sorts,$pid =0)}}

}return $arr;}}

2楼:曹杰博

用 select * from 表 where dm like '01%'

使用sql语句查询出来一级分类下的二级分类和**分类并生成execl

3楼:匿名用户

select * from a,b,c where a.xx=b.xx and c.oo = b.oo

或者 select * from a,b,c where a.xx in(select b.xx form b where b.oo in(...同理省略...))

由于你就截个图,只能帮你到回

这里了答

4楼:匿名用户

啥意思,你的**是你所要的结果?你的原始数据呢?

sql 怎么根据子分类 找到一级分类

5楼:泥管家

select * from 表名 where pid = 一级分类的id

前提是你的二级分类和你的一级分类有主外键关系或者有相应的键去对应。

6楼:丿韩灬轩

数据库字段加一个parentid 就是上级的id 查询的话 查上级id就好

如何只用sql语句查询一个类别下面所有子类包含的信息?

7楼:匿名用户

select * from news left join newclass on news.classid=newclass.classid where newclass.

classparentid=news.classid 没怎么仔细看 我理解的是 新闻表是主表 查询的是 所有newclass表里所有 classparentid等于classid的数据

8楼:匿名用户

select * from flfl start with classid =华北 connect by classparentid = prior classid;oracle的树查询可以实现,其他数据库就不了解了这个语句会把省一级的数据也查询出来,可以的话加个深度的字段会好点。

9楼:匿名用户

sql server 2000因为你这里说了只有**分类,所以我就不写sql函数了,得到华北下面所有子类别的classid(不包括华北的classid)select classid from newclass where classparentid in (select classid from newclass where classparentid=51)

根据类别classid表查询新闻select * from news where classid in (select classid from newclass where classparentid in (select classid from newclass where classparentid=51))ok了

sql语句 查询 类别下所有子类 5

10楼:匿名用户

--假如表名是 tablea

select *

from tablea b

where id between 2 and 6union all

select *

from tablea a

where exists

(select *

from tablea b

where b.id between 2 and 6and a.id=b.fid

)--第二办法是使用递归

with

tempas(

select *

from tablea

where id between 2 and 6union all

select b.*

from temp

inner join tablea b on b.id=temp.id

)select *

from temp

11楼:

create table tb

(id int,

name varchar(20),

fid int

)insert into tb values( 1,'一级1',0)insert into tb values( 2,'一级2',0)insert into tb values( 3,'二级1',2)insert into tb values( 4,'二级2',2)insert into tb values( 5,'**1',4)insert into tb values( 6,'四级1',5)insert into tb values( 7,'二级1',1)with tmp(id,name,fid) as(select id,name,fid from tb where id in (2)

union all

select tb.id,tb.name,tb.fid from tb inner join tmp on tb.fid = tmp.id

)select distinct * from tmp order by id,fid

2 一级2 0

3二级1 2

4 二级2 2

5**1 4

6 四级1 5

12楼:匿名用户

select*fromtablewhereidin(2,3,4,5,6);

13楼:车a豪

select * from table where id in (2,3,4,5,6)

二级分类 sql语句

14楼:匿名用户

create table category(

id number primary key,

name varchar(20),

sunid number

);insert into category values(1,'aa0',0);

insert into category values(2,'bb1',1);

insert into category values(3,'cc1',1);

insert into category values(4,'dd0',0);

insert into category values(5,'ff1',3);

insert into category values(6,'gg1',3);

select b.id,b.name from category a join category b on a.id=b.sunid and a.id =1;

结果:id name

2 bb1

3 cc1

不知道楼主是不是想要这种结果,这是使用自连接实现的

15楼:匿名用户

这个是sql中最常见的层次查询,

比如: select * from a start with sunid=0 connect by id=sumid

具体用法根据实际情况请参照语法

http://blog.csdn.***/nsj820/article/details/6299276

16楼:匿名用户

你说的这功能貌似单纯的sql实现不了吧,需要靠编程语言来实现(c#,java,c++之类的编程语言)。在编程里写判断语句来操作。

mysql用一级分类的id差他下面二级分类的关联商品

17楼:匿名用户

描述一下你需要什么样的数据吧,举个例子,这也清楚点

mysql如何查出父分类下面的所有子分类中的站点信息

18楼:匿名用户

每个分类都要设置个pid,规则是上j分类的id,如果是顶j分类,那么该pid则是0。

每个分类都要设置个path,规则是上j分类的path,连接上级分类的pid。

设置好,效果如下:

拿中国-河北-廊坊,做介绍。

已知的是廊坊的pid,(如果是id,那么在通过id查出pid)sql语句:select * from 表名 where id=4;

通过河北查中国和上面一样。。。

从2级查**的话,已知的是河北的id。

sql语句:select * from ua_column where pid=4;

从1级查所有,如上,研究研究就什么都有了

sql语句产品类别下有多少产品

19楼:匿名用户

select a.cid 产品

类别id,b.**ame 产品类别名称,count(pid) 产品个数

from product a

left join class b on a.cid=b.cidgroup by a.cid,b.**ame

20楼:匿名用户

mssql

select**ame,count(p.pid)sum_pfromclassc,productpwherec.cid=p.cid

groupby**ame;

oracle

select**ame,(selectcount(*)fromproductwherecid=c.cid)sum_p

fromclassc;