You are talking about "heterogeneous queries". I believe it is Delphi which
achieves this feature for you, not the databases themselves. Here is a quote from
the Delphi help system:
"Delphi supports heterogeneous queries, that is, queries made against tables in
more than one database. A heterogeneous query may join tables on different
servers, and even different types of servers. For example, a heterogeneous query
might involve a table in a Oracle database, a table in a Sybase database, and a
local dBASE table."
Delphi parses the SQL code, sends the appropriate query to each database, and then
assembles the result sets locally. The syntax example they provide is as follows:
SELECT Customer.CustNo, Orders.OrderNo
FROM ":Oracle1:CUSTOMER"
JOIN ":Sybase1:ORDERS"
ON (Customer.CustNo = Orders.CustNo)
WHERE (Customer.CustNo = 1503)
The database names such as Sybase1 would be ODBC DSN or BDE (Borland Database
Engine) database alias names, or database object (TDatabase) names.
It sounds to me like it could be terribly inefficient depending on your query and
whether or not Delphi queries the multiple databases concurrently or sequentially.
However, I suggest you just try it if you can, and let us know what you find.
--Richard
> Can you please tell me, is it possible to do queries that join MySql tables that
> are in different databases?
>
> I have a couple of Delphi database programs that use Paradox tables. I'd
> like to move them over to something else that is faster. These programs are set
> up so that they have a shared database on our server, and then a local database
> on each machine. I have queries that have to be able to join tables in the
> local and the server db's. I tried this with Interbase, and it doesn't support
> cross-database joins. I'm wondering if MySql can do this?
>
> If so, how would you modify the below query to show the different databases?
> Specifically, how would you specify the database that the table is in?
>
> SELECT D.BkID, D.Chap, D.Vrs, D.RTypID
> FROM ":OntData:ScrpUF.DB" D
> INNER JOIN ":OntLclData:LclSrchBkParam.DB" d1
> ON (d1.BkID = D.BkID)
> WHERE D.ScrpUF LIKE "%search text%"
>
> *** If this is not possible, can this be accomplished with a UNION by
> selecting all the records in the local table, and joining the result set
> with the shared table? If so, how?
>
> Any help will be *greatly, greatly* appreciated.
>
> In Christ,
>
> Peter, hierodeacon
>
> ----
> Dormition Skete
> A Monastery of the Russian Orthodox Autonomous Church
> http://www.BuenaVistaCO.com/GOC
> http://www.RussianOrthodoxAutonomousChurchInAmerica.com
> ----
>
>
>
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php