我正在将4个表迁移到新表。我正在使用 visual basic 2008 ExecuteNonQuery()
我的SQL技能非常生疏,可能已经过时(1998年)。
这是我的困境;我最初是从一张桌子中提取数据来构成一个屏幕。然后客户决定添加“为什么”字段,然后添加“信息”字段等...
由于结构必须向后兼容,因此添加了新表。现在我将它们合并为一个。
我的问题是并非所有的屏幕都使用所有表格;屏幕可能有“照片”和“信息”字段,但不是“如何”或“为什么”
所以我想使用其中一个表中的主键,然后添加INSERT
。
实施例: 第一行可以从“Table1”获取主要字段,并将其余字段合并到同一行。
第二行可能不使用“Table1”而我没有“主键”???
我正在考虑获取“主键”并从包含文本的表中进行比较(这有一对多),但是只添加了另一个表?
我还在考虑添加一个表格并将其余表格更新为4个步骤?
任何建议都将不胜感激。一个SQL示例将使我的一天......
旧表:每个表都有一个主键和一个数据字段
Table1
PK Data
Table2
PK Data
Table3
PK Data
Table4
PK Data
新表:包含主键和16个新列
我正在使用ExecuteNonQuery()
,所以我的伪代码看起来像这样;
SQLStr = "
Insert Into NewTable(PK, COL5, COL5, COL7, COL8, COL13, COL14, COL15, COL16)
Select TABLE4.PK, TABLE4.DATA, TABLE2.PK, TABLES3.PK, TABLE1.PK, 'Photo','Information',
'Why', 'How'
From Table1, Table2, table3, Table4 IN 'C:\Temp\oldDatabase.mdb'"