当前位置: 代码迷 >> Sql Server >> sql怎么依照某一字段分配有关问题
  详细解决方案

sql怎么依照某一字段分配有关问题

热度:4   发布时间:2016-04-27 12:26:59.0
sql如何依照某一字段分配问题
我使用的SQLServer 2005 其中有两张表 Users 和 Papers ,其中Paper中有PaperID,PaperName和A_B(代表A,B卷)现在想

实现试卷A,B卷,按照Users表中的字段UserID来随机分配,或者依据UserID来交替分配,生产一张新的表Test(UserID,UserName,PaperName,A_B).

该如何做呢?求大神指导

------解决方案--------------------
SQL code
CREATE TABLE Users(    UserID INT,    UserName VARCHAR(100))GOCREATE TABLE Papers(    PaperID INT,    PaperName VARCHAR(100),    A_B VARCHAR(10))GOINSERT INTO UsersSELECT 1,'张三' UNIONSELECT 2,'李三' UNIONSELECT 3,'王三' UNIONSELECT 4,'宋三' INSERT INTO PapersSELECT 1,'数学','A' UNIONSELECT 2,'数学','B' UNIONSELECT 3,'语文','A' UNIONSELECT 4,'语文','B' WITH t AS(SELECT RN=ROW_NUMBER() OVER (ORDER BY userid),UserId,UserNameFROM Users)SELECT UserId,UserName,PaperName,A_BFROM t INNER JOIN Papers AS B ON CASE t.RN%2 WHEN 1 THEN 'A'                                             WHEN 0 THEN 'B' END = B.A_BORDER BY PaperNameUserId    UserName    PaperName    A_B1    张三    数学    A2    李三    数学    B3    王三    数学    A4    宋三    数学    B4    宋三    语文    B3    王三    语文    A2    李三    语文    B1    张三    语文    A
  相关解决方案