使用数据库的set 1来组合使用不同数据库的set 2

时间:2016-11-29 14:12:35

标签: mysql sql

所以我对数据库A有这个:

SELECT uid FROM user_id where this = :this

使用那些uid我想通过以下查询从数据库B获取数据

SELECT name FROM users where uid = :uid_table1

如何在1个查询中执行此操作?

2 个答案:

答案 0 :(得分:1)

据我所知。没有办法让一个查询在不同的数据库上执行其工作的不同部分 - 将查询发送到数据库。您编写的任何代码都必须向每个数据库发送一个查询,即使您以某种方式将其用于某种粘合语言中的单个语句。

作为类比:

  

我有两个任务。

     

从最新的印刷版中获取“伞”的定义   Merriam-Webster大学词典。

     

查找上一个定义中每个单词的定义   最新的印刷品OED。

虽然可以将其改为单句,相当于sagi的答案或使用某种粘合语言:

  

从最新印刷品Merriam-Webster Collegiate Dictionary的Umbrella定义中查找每个单词。

如果不打开每本书的至少一个副本,就无法执行该任务。

答案 1 :(得分:0)

您可以使用SELECT name FROM Table2 t WHERE t.uid IN(SELECT s.uid FROM Table1 WHERE this = :this)

SELECT name 
FROM Table2 t
JOIN Table1 s
 ON(s.uid = t.uid)
WHERE s.this = :this

我假设数据库是指一张桌子?

或者,您可以加入:

string <- "field1,field2,\"there is a , in field3\", field4, \"2,456\", field6"