我试图插入来自Table 1和Table ID为Table3.My表的设计是:SQL INSERT SELECT从表2到表3
Table1:
Id_Table1
field1 etc.
Table2:
Id_Table2
field1 etc.
Table3:
Id_Table3
Id_Table1_FK
Id_Table2_FK
我这样做时,我保存表1的记录。同时,我在我的表单中使用Datagridview,它使用组合框来查看表2中的记录。当我从Table2中选择一些记录时,需要将两个ID(表1 &表2)插入表3中。
这里是我到目前为止的代码(显然是不对的):
INSERT INTO Table3 (Id_Table3, Id_Table1, Id_Table2)
SELECT Id_Table2 FROM Table2 WHERE serial_no=" & MyDGV.CurrentRow.Cells(0).Value.ToString
VALUES (Id_Table3_seq.nextval, Id_Table1_seq.currval,????)
所以,我的问题stucks与Id_Table2这需要由Datagridview.Row单元格的值第一选择,然后通过结果像参数表3。有什么建议么 ?也许容易,我只是不知道如何下手......
我的问题可能是愚蠢的,但你可以肯定的是你的选择查询将返回正好为1倍的值?它可能没有价值吗? – romulus001
@ romulus001,no它不能返回任何值。此INSERT仅发生如果您从Datagrid中的Comboboxcell中选择一些记录。 – LuckyLuke82
@ romulus001,对此,我已经在查询中添加了Top 1,以确保它只会返回一个记录集。但是如果该字段是唯一的,则是可选的。 (正如我在编辑中提到的)。 –