首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL2000中数据分类后取每类数据前4项出有关问题

2012-01-23 
SQL2000中数据分类后取每类数据前4项出问题是这样的:Prudocts表是ProductId,ProductName,CategoryId字段,C

SQL2000中数据分类后取每类数据前4项出问题
是这样的:Prudocts表是ProductId,ProductName,CategoryId字段,Category表,字段有CategoryId,Depth字段
我现在要取出Product表中的ProductId,ProductName,CategoryId前4项数据,要求是Product表中的CategoryId属于Category表,且Depth=1,我自己写的SQL语句如下:

select a.ProductId,a.CategoryId,a.ProductName from Products a 
where (select count(*) from Products a where CategoryId in 
(select b.CategoryId from Category b where b.Depth=1) and ProductId<a.ProductId)<4
order by CategoryId

查询结果永远不对。。。。我搞了好久的,请各方朋友出手帮一下,在线等。。。

[解决办法]

探讨
修改一下~

SQL code

SELECT *
FROM Prudocts AS T
WHERE (SELECT COUNT(*) FROM Prudocts WHERE categoryId=T.categoryId AND ProductId<T.ProductId)<4
and exists (select 1 from Category where Depth=1 a……

热点排行