当我使用ODBC查询FileMaker 11服务器时,看起来我的查询被限制为一次从一个数据库检索数据。
我想在一个数据库中查询数据,但只返回在另一个数据库中(在同一个FileMaker服务器上)有一些相关数据的记录。我知道如何编写普通的JOIN,但我不知道如何在多个数据库中执行此操作。
这甚至可能吗?如果是这样,请提供一个小的SQL查询示例或代码片段(最好是在C#中)?
答案 0 :(得分:1)
FileMaker ODBC查询与ExecuteSQL(FQL)语句相同,是基于“管理数据库”关系图中的表事件。
要在查询中使用其他FileMaker文件(数据库,DSN)中的表,请将此文件添加到目标文件的“外部数据源”中,并将需要查询的表的表存在放入“管理数据库” “目标文件。
这只是最初的猜测,但是@Maarten Docter确认了。
答案 1 :(得分:0)
我不知道filemaker,但是如果它接受普通SQL,那么可以跨数据库连接数据(假设它们在同一个数据库服务器上运行)。只需参考列的完整路径即可。例如,如果要连接数据库A B和C的序列号:
SELECT *
FROM DatabaseA.dbo.MainDb
INNER JOIN DatabaseB.dbo.SubDb ON DatabaseA.dbo.MainDb.Serialnumber = DatabaseB.dbo.SubDb.Serialnumber
INNER JOIN DatabaseC.dbo.Other ON DatabaseA.dbo.MainDb.Serialnumber = DatabaseC.dbo.Other.Serialnumber
请注意,如果您需要一组特定的列,则必须编写所述列的完整路径(与连接中显示的方式相同)