Sql 基于其他表插入类别数据的查询

Sql 基于其他表插入类别数据的查询,sql,database,visual-studio-2010,Sql,Database,Visual Studio 2010,所以我用access驱动一个vb程序来注册学生上课。我有三张桌子:登记表、学生表和课程表 我想在注册表中添加学生Id和课程Id作为关系。 我很久没有使用SQL了,所以第一次失败得很惨: INSERT students.id INTO register.studentid WHERE 1 = students.id INSERT courses.id INTO register.courseid WHERE '12345' = courses.crn 使用INSERT INTO是错误的。但是,

所以我用access驱动一个vb程序来注册学生上课。我有三张桌子:登记表、学生表和课程表

我想在注册表中添加学生Id和课程Id作为关系。 我很久没有使用SQL了,所以第一次失败得很惨:

INSERT students.id INTO register.studentid WHERE 1 = students.id 
INSERT courses.id INTO register.courseid WHERE '12345' = courses.crn
使用INSERT INTO是错误的。但是,您可以执行以下操作:

INSERT INTO register (studentid, courseid) VALUES (1 = students.id, '12345' = courses.crn);
If Not TextBox1.Equals("") Then

        query += "INSERT students.id INTO register.studentid WHERE '" & StudentID & "' = students.id "
        query += "INSERT courses.id INTO register.courseid WHERE '" & TextBox1.Text & "' = courses.crn"
    End If
INSERT INTO register (studentid, courseid) VALUES (1, '12345')
因为我当前的VB代码的工作原理如下:

INSERT INTO register (studentid, courseid) VALUES (1 = students.id, '12345' = courses.crn);
If Not TextBox1.Equals("") Then

        query += "INSERT students.id INTO register.studentid WHERE '" & StudentID & "' = students.id "
        query += "INSERT courses.id INTO register.courseid WHERE '" & TextBox1.Text & "' = courses.crn"
    End If
INSERT INTO register (studentid, courseid) VALUES (1, '12345')
INSERT语句应采用以下格式

INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...)
因此,您要寻找的是:

INSERT INTO register (studentid, courseid) VALUES (1 = students.id, '12345' = courses.crn);
If Not TextBox1.Equals("") Then

        query += "INSERT students.id INTO register.studentid WHERE '" & StudentID & "' = students.id "
        query += "INSERT courses.id INTO register.courseid WHERE '" & TextBox1.Text & "' = courses.crn"
    End If
INSERT INTO register (studentid, courseid) VALUES (1, '12345')


这是一个您可以使用的示例。

好的,那么我如何查询以找到相应的course.id,其中course.crn是12345您可以嵌套它吗?在register studentid中插入,courseid值从crn='12345'的课程中选择ID,从crn='12345'的课程中选择course.ID不,您的INSERT语句没有任何意义。您正在选择课程id并将其插入register的studentid字段。我不明白你为什么要这么做。我确实用了一个可以使用的SQLFiddle示例更新了我的答案。它在SQL Server中,但可以轻松转换为MS Access。我想在crn等于12345的位置插入课程id。我的想法是,因为主列是id,所以我会使用它。但我想我可以用crn作为关系。