2009-03-05 97 views
0

我有一个包含两列,userID和contentID的表。基本上这个表格用于将特定内容的访问分配给特定用户。我有分配给内容A的每个用户的请求也被分配给内容B.那么,如何为每个具有(userid,[内容B]的行)写入一个包含此数据的新行(userid,[内容B的id]内容ID] A)SQL FOR EACH?

OK我试了前两名的帖子说什么以及它转换为:

INSERT INTO tbl_courseAccess 
         (contentid) 
SELECT  11 AS Expr1 
WHERE  (contentid = 6) 

,并没有工作,所以我不知道我做错了什么,这里是我试图用:

​​

好的我找到了一个新的解决方案,不用担心这个问题了,谢谢大家。

+0

瑞恩,你能给我们一个更好的详细表结构吗?从我的理解以及其他许多方面来看,您可以通过智能插入语句来完成此操作,但我们需要更多信息。 – achinda99 2009-03-05 14:28:52

+0

它就像两列,userid,contentid,所以每一行都是这样的:0,5或12,6等等。我只需要每行都是用户标识符,6用来产生新的行用户标识符,每个用户标识符有11个,它们都是标记为主键 – BigOmega 2009-03-05 14:53:35

回答

4
​​

更正:打字太快比赛你其他回答者

0
insert into [tablename] 
(userid, contentid) 
select userid, [id of content B] 
where contentid = [id of content A] 
0
insert into your_table(userid, contentid) select userid, 
[id of content B] from your_table where contentid = [id of content A]) 

这应该做的工作。

0
INSERT INTO mytable (userID,contentID) 
    SELECT userID,[id of content B] FROM mytable 
    WHERE content = [id of content A];