我有两个表:newparts,storedpartsMS访问SQL加入子查询
我插入newparts,这是不是在storedparts喷入storedparts的部分:
SQL_String = "INSERT INTO storedparts " & _
"SELECT newparts.* " & _
"FROM storedparts " & _
"RIGHT JOIN newparts ON (storedparts.identifier = newparts.identifier) AND (storedparts.timeStamp = newparts.timeStamp) " & _
"WHERE ((storedparts.AutoID) Is Null);"
这是工作的罚款至今。现在的问题:表storedparts变得如此之大,程序对于连接过程来说太长了。我的解决方案:只是比较newparts不是存储的部分的所有部分,但只是部分不超过4天...我尝试了这样的子查询,但我不能让它运行。
SQL_String = "INSERT INTO storedparts " & _
"SELECT newparts.* " & _
"FROM storedparts (WHERE storedparts.timestamp > Now() - 4) " & _
"RIGHT JOIN newparts ON (storedparts.identifier = newparts.identifier) AND (storedparts.timeStamp = newparts.timeStamp) " & _
"WHERE ((storedparts.AutoID) Is Null);"
任何帮助表示赞赏。
为什么'RIGHT JOIN'?如果真的需要外部连接,切换表并执行'LEFT JOIN'。大多数人觉得那些人很难理解,而且加入的方式更加混乱。 (更容易理解“主表左连接可选数据”而不是“可选数据右连接主表”)。 – jarlh