我正在将 4 个表迁移到一个新表。我正在使用Visual Basic 2008ExecuteNonQuery()
我的 SQL 技能非常生疏,可能已经过时(1998 年)。
这是我的困境;我最初是从一个表中提取数据来组成一个屏幕。然后客户决定添加一个“为什么”字段,然后是一个“信息”字段等......
因为结构必须向后兼容,所以添加了新表。现在我将它们合二为一。
我的问题是并非所有屏幕都使用所有表格。屏幕可能有“照片”和“信息”字段,但没有“如何”或“为什么”</p>
所以我想使用其中一张表中的主键并添加INSERT
其余部分。
示例:第一行可能会从“Table1”中获取主字段并将其余字段合并到同一行中。
第二行可能没有使用“Table1”,我没有“主键”???
我正在考虑获取“主键”并从包含文本的表中进行比较(这是一对多),但这只是添加了另一个表?
我也在考虑添加一个表并在 4 个步骤中将其更新?
任何意见,将不胜感激。一个 SQL 示例会让我很开心……</p>
旧表:每个表都有一个主键和一个数据字段
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'"