凯锐

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
資料表結構;
tblcompany:

companyid       title

 1             公司1

 2             公司2

 3             公司3

 

tblproduct:

productid   title              companyid

 1          公司1的產品1           1

 2          公司1的產品2           1

 3          公司2的產品1           2

 4          公司2的產品2           2

 5          公司2的產品3           2

 6          公司3的產品1           3

 7          公司3的產品2           3

 

想要的結果是:

每個公司的產品不要在一起

查詢出來的結果如下:

 

productid   title              companyid

 1          公司1的產品1           1

 3          公司2的產品1           2

 6          公司3的產品1           3

 2          公司1的產品2           1

 4          公司2的產品2           2

 7          公司3的產品2           3

 5          公司2的產品3           2

由一天到晚游泳的魚Paoluo提供答案如下﹕


Create Table tblproduct
(productid 
Int,
 title 
Nvarchar(100),
 companyid 
Int)
Insert tblproduct Select  1,          N'公司1的產品1',           1
Union All Select  2,          N'公司1的產品2',           1
Union All Select  3,          N'公司2的產品1',           2
Union All Select  4,          N'公司2的產品2',           2
Union All Select  5,          N'公司2的產品3',           2
Union All Select  6,          N'公司3的產品1',           3
Union All Select  7,          N'公司3的產品2',           3
GO
--方法一﹕
Select * From tblproduct A Order By (Select Count(*From tblproduct Where companyid=A.companyid And productid<=A.productid)
Go
--方法二﹕
Select B.productid,title,companyid From
(
Select ID=(Select Count(*From tblproduct Where companyid=A.companyid And productid<=A.productid),* From tblproduct A)B
Order By ID
GO
Drop Table tblproduct
posted on 2006-06-16 21:02  凯锐  阅读(267)  评论(3)    收藏  举报