如何在一个查询中INNER JOIN 2或3个具有相同表的不同数据库
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在一个查询中INNER JOIN 2或3个具有相同表的不同数据库相关的知识,希望对你有一定的参考价值。
我试图用同一个表搜索来自不同数据库的数据。而不是做长切查询,我怎么能在单个查询中INNER加入2个不同的数据库。谢谢。
Set db = OpenDatabase(DbName, False, True, "MS Access;PWD=1234")
Set rs = db.OpenRecordset("SELECT * AVAILABLE_STAFF WHERE staff_id = '" & Search_ID & "'", dbOpenSnapshot, dbOptimistic)
With rs
If .RecordCount = 0 Then
Else
'INSERT DATA TO LISTVIEW
End If
End With
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
Set db = OpenDatabase(DbName1, False, True, "MS Access;PWD=1234")
Set rs = db.OpenRecordset("SELECT * AVAILABLE_STAFF WHERE staff_id = '" & Search_ID & "'", dbOpenSnapshot, dbOptimistic)
With rs
If .RecordCount = 0 Then
Else
'INSERT DATA TO LISTVIEW
End If
End With
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
答案
由于您没有显示任何E / R,并且不是100%清楚您要求的答案可能不如您所希望的那么好。
- 更改问题的标题。 “如何在一个查询中INNER JOIN 2或3个不同的数据库同一个表”令人困惑!您“在数据库中连接表”,您不“在一个查询中连接具有相同表的数据库”!
- 我无法弄清楚这一个
[MS Access;DATABASE=" & Completed & ";PWD=pwd].[DOCUMENT_STATUS]
?猜猜它创造了某种表格? - 您只是从第一个别名表
[ds]
中选择结果?你有没有尝试过:
SELECT ds.*, cds.* FROM DOCUMENT_STATUS AS ds LEFT JOIN [MS Access;DATABASE=" & Completed & ";PWD=pwd].[DOCUMENT_STATUS] AS cds ON ds.refnum=cds.refnum
在你的情况下你也可以做SELECT *
而不是SELECT ds.*, cds.*
。
以上是关于如何在一个查询中INNER JOIN 2或3个具有相同表的不同数据库的主要内容,如果未能解决你的问题,请参考以下文章
`INNER JOIN` 过滤条件在查询中的位置; `ON` 或 `WHERE` 子句 [关闭]
在 SQL Server 查询的 WHERE 子句中引用或 INNER JOIN 一个 Pandas 数据帧值 [重复]