当前位置:首页 » 编程语言 » 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)

热点内容
python打印日志 发布:2025-08-25 19:37:00 浏览:413
vr哪个配置最好 发布:2025-08-25 19:36:51 浏览:836
解压挤痘视频 发布:2025-08-25 19:34:31 浏览:308
老鼠脚本是什么意思 发布:2025-08-25 19:27:59 浏览:476
androidlongstring 发布:2025-08-25 19:25:00 浏览:494
app制作androidstudio 发布:2025-08-25 19:14:12 浏览:241
hibernate连接数据库 发布:2025-08-25 18:55:37 浏览:720
c语言hook 发布:2025-08-25 18:44:16 浏览:700
解压瓶子 发布:2025-08-25 18:10:17 浏览:270
五年级c语言 发布:2025-08-25 18:08:42 浏览:542