日期:2014-05-17  浏览次数:20601 次

子查询结果为多个值怎么转换成一条SQL语句
SELECT * FROM Product WHERE SmallProductClassNo=(SELECT SmallProductClassNo FROM BigProductClass WHERE BigDishClassNO=str) 
产品大类 有 01,02;01大类有小类01,02,03;02大类有小类
04,05
查找大类为01的所有产品名称,SQL语句怎么写~~!

------解决方案--------------------
SQL code
1、两个表join
2、SELECT * FROM Product WHERE SmallProductClassNo in (SELECT SmallProductClassNo FROM BigProductClass WHERE BigDishClassNO='01')

------解决方案--------------------
SELECT * FROM Product WHERE SmallProductClassNo in (SELECT SmallProductClassNo FROM BigProductClass WHERE BigDishClassNO='01')
------解决方案--------------------
=只能用在一个常量上,对于一个数据集,要用in、exists等。由于01大类具有小类,查询的时候属于一个数据集,用=的话,会报错。