2016-09-21 62 views
0

我想分配学生到各自的考试中心。插入两参数选择

有没有办法做到这一点?

我有2个表:

学生

| StudentID | StudentName | AllocatedCenter | 

ExamCenter

| CenterID | Center Name |<br> 

我试图用Insert Into Select声明,但有两个不同的参数如下:

正确的查询应该是:

INSERT INTO Student (AllocatedCenter) 
    SELECT CenterName 
    FROM ExamCenter 
    WHERE CenterID = 5; 

我想要做这样的事情:

INSERT INTO Student (AllocatedCenter) 
WHERE StudentID = 1 
    SELECT CenterName 
    FROM ExamCenter 
    WHERE CenterID = 5; 

但这是语法错误的语句虽然我只想插入特定StudentID

是有没有解决办法?

预先感谢您

+2

我想你想'更新'表'Student'而不是插入新记录,对不对? – Aquillo

+0

是的,我需要使用UPDATE语句插入最后一列中创建表时创建NULL的记录。 – PushkarRode

回答

0

您可以寻找简单的更新

UPDATE S 
SET AllocatedCenter =(SELECT TOP 1 [Center Name] FROM ExamCenter WHERE CenterID= 5 ORDER BY CenterID) 
FROM Student s 
WHERE StudentID= 1 
0

如果你想改变现有的记录,那么你必须使用UPDATE不插入

如果您想更新studentId = 1时记录的centername,则 查询为

UPDATE Student set AllocatedCenter = 
(select CenterName from ExamCenter 
where CenterID=5) 
WHERE StudentID = 1;