日期:2014-05-18 浏览次数:20668 次
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