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