当前位置:首页 » 编程语言 » sql自联

sql自联

发布时间: 2025-08-25 17:30:00

sql中 in的用法

你现在的这个要求一般不用in.

假如你说的大类C是指大类的名称是"C", 则用下面的语句:

select c.*
from category a,category b, proct c
where a.name='C' and a.pid=0
and b.pid=a.cid
and c.cid=b.cid

首先从category中取出name为'C'且pid为0的数据(得到cid), 表映射到a;
然后以自联,再从category中取得pid为a的cid的数据(也就是大类C中的所有小类,表映射到b;
最后再关联产品表proct, 取得cid为b的cid的所有产品,表映射到c.

当然, 如果你所说的C大类, 直接就知道其id号, 就像你给的例子中直接知道了10, 那么"自联"这步就不需要了.

-------------------------------

如果非要用in, 则按下面的方式:

select * from proct where cid in (
select b.cid
from category a,category b
where a.name='C' and a.pid=0
and b.pid=a.cid
)

-------------------------------

另外, in 还用在下面这种情况, 比如:

你想取得1,3,8,9这四个小类的所有产品, 则可以用:

select * from proct where cid in (1,3,8,9)

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:585
制作脚本网站 发布:2025-10-20 08:17:34 浏览:881
python中的init方法 发布:2025-10-20 08:17:33 浏览:574
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:761
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:677
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1005
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:249
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:108
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:799
python股票数据获取 发布:2025-10-20 07:39:44 浏览:705