问一个,数据库查询的方法

来源:百度知道 编辑:UC知道 时间:2024/06/25 01:54:57
有三张表,一张产品表 一级分类表,二级分类表
我要查询一级分类表卡其中一类下面所属二级分类,类别下所有的产品,和一级分类单属产品的集合,请问用什么方法,SQL,应该如何来查询
基本没明白
SELECT *
FROM 产品
WHERE erid = (SELECT id FROM 二类 WHERE 一类.id=二类.yiid);
我这个肯定不对,只想说明意思,现在这个条件子查询是个结果集,问题就在这,条件太多,怎么才能得到结果

你一级分类表在二级分类表里有对应的字段吧。。二级分类表在产品表也有对应的字段吧
select 你想要的字段名 from 一级 a,二级 不,产品 c where a.id=b.aid and b.aid=c.bid

这种查询叫 ORACLE分级查询(可以用分析函数来作,ORACLE8.1之后的才支持哦!)
你这个题首先要把三张表合成一张表(应该知道怎么合吧)
用 UNION ALL
然后用分级查询
SELECT 你要的字段
from 合成表
start with 第一级字段=X (X代表从几开始)
CONNECT BY PRIOR 合成表.字段1=合成表.字段2 (字段1叫父结点,字段2叫子结点)

如果没看懂 你可以去搜一下 ORACLE中的分级查询的相关资料 再看就明白了!
祝你好运!(完全靠自己理解写的如果有错误请高人指点!)

一级一级查!
什么乱七八糟的!