日期:2014-05-18 浏览次数:20676 次
CREATE TABLE Users
(
    UserID INT,
    UserName VARCHAR(100)
)
GO
CREATE TABLE Papers
(
    PaperID INT,
    PaperName VARCHAR(100),
    A_B VARCHAR(10)
)
GO
INSERT INTO Users
SELECT 1,'张三' UNION
SELECT 2,'李三' UNION
SELECT 3,'王三' UNION
SELECT 4,'宋三' 
INSERT INTO Papers
SELECT 1,'数学','A' UNION
SELECT 2,'数学','B' UNION
SELECT 3,'语文','A' UNION
SELECT 4,'语文','B' 
WITH t AS
(SELECT RN=ROW_NUMBER() OVER (ORDER BY userid),UserId,UserName
FROM Users)
SELECT UserId,UserName,PaperName,A_B
FROM t INNER JOIN Papers AS B ON CASE t.RN%2 WHEN 1 THEN 'A'
                                             WHEN 0 THEN 'B' END = B.A_B
ORDER BY PaperName
UserId    UserName    PaperName    A_B
1    张三    数学    A
2    李三    数学    B
3    王三    数学    A
4    宋三    数学    B
4    宋三    语文    B
3    王三    语文    A
2    李三    语文    B
1    张三    语文    A