-1

我有两个表sessionclasssessionid的 session 相关的类 我想将名复制到具有新classid和新外键(会话表中为 2)的同一个类表中。

类的表名

 sessionid    classid    class   
1               1         5th
1               2         6th
1               3         7th

会话表是

sessionid    session
1            2013-2014
2            2014-2015

想复制到会话 2014-2015

希望你能理解

Insert Into classes (sessionid,classname) Values ((select sessionid from session where session=@session),classname) 

这就是我反刍的做法。

4

1 回答 1

1

尝试这样的事情

Insert Into classes (sessionid,classname) 
Values (SELECT 2, classname 
         FROM classes
         WHERE sessionid = 1) 

我没有对此进行测试,我确信我可能会发现一些问题,所以如果有人看到我的代码有问题,请发表评论,我会修复它。

更新

我可能更改了列名,所以如果您所做的只是复制和粘贴,您的列名可能不匹配。@Fauzi88 评论说我不需要VALUES在查询中使用。

希望这会有所帮助

我运行了以下查询并在SQLFiddle上执行

INSERT INTO classes (sessionid,class)
SELECT 2, class 
FROM classes
WHERE sessionid = 1

你可能想试试这个而不是前一个

逻辑是一样的。

于 2013-10-23T18:33:01.023 回答