Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 查询同一服务器中的两个数据库_Mysql_Sql - Fatal编程技术网

Mysql 查询同一服务器中的两个数据库

Mysql 查询同一服务器中的两个数据库,mysql,sql,Mysql,Sql,我在同一台服务器上有两个数据库,我需要: Select from table1 (in database1) the id field Where notific1=1 但只有用户id列表 两个表中的用户id字段相同 我试过: SELECT table1.id FROM [database1].[dbo].[table1] as users INNER JOIN [database2].[dbo].[table2] as subs ON users.user_id=s

我在同一台服务器上有两个数据库,我需要:

Select from table1 (in database1) the id field
Where notific1=1
但只有用户id列表

两个表中的用户id字段相同

我试过:

SELECT table1.id 
    FROM [database1].[dbo].[table1] as users
    INNER JOIN [database2].[dbo].[table2] as subs
    ON users.user_id=subs.user_id
    WHERE users.notific1=1 AND
    WHERE subs.enabled=1
这将抛出错误:

.1064-您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,了解在第2行的“[database1].[dbo].[table1]附近使用的语法是否正确


注意:我使用的是MySQL,因为你用MySQL标记了你的问题,所以你不能有2个where

WHERE users.notific1=1 AND
WHERE subs.enabled=1
应该是

WHERE 
users.notific1=1 
AND
subs.enabled=1
此外,在连接2个数据库时,语法为

select * from proj1.users as y 
inner join project2.users f on f.email = y.email 
and y.email = 'abhik@xxxx.com'
proj1和project2是同一服务器中的两个数据库,用户是这些数据库中的表。

对于mysql,方括号[]不用于对象名称。 改用反勾号

SELECT table1.id 
    FROM `database1`.`table1` as users
    INNER JOIN `database2`.`table2` as subs
    ON users.user_id=subs.user_id
    WHERE users.notific1=1 AND
    subs.enabled=1
根据SqlServer,MySql中没有dbo模式。只需放下dbo:

SELECT table1.id 
    FROM database1.table1 as users
    INNER JOIN database2.table2 as subs
    ON users.user_id=subs.user_id
    WHERE users.notific1=1 AND
    WHERE subs.enabled=1

这里写了两遍

请尝试以下内容:

SELECT table1.id 
    FROM database1.dbo.table1 as users
    INNER JOIN database2.dbo.table2 as subs
    ON users.user_id=subs.user_id
    WHERE users.notific1=1 AND
 subs.enabled=1
或条件

和条件


通常,在加入2个数据库时,当您标记mysql时,它应该是databasename.tablename作为select*从proj1_dev.users作为y内部加入project2.users f on f.email=y.email和y.email=abhik@xxxx.com';
SELECT table1.id 
    FROM database1.dbo.table1 as users
    INNER JOIN database2.dbo.table2 as subs
    ON users.user_id=subs.user_id
    WHERE users.notific1=1 AND
 subs.enabled=1
SELECT u1.*, 
       u2.* 
FROM   db1.table1 u1 
       INNER JOIN db2.table2 u2 
               ON u1.id = u2.id 
WHERE  u1.id IN( '12', '16' ) ** 
       OR ** u2.id = 17 
SELECT u1.*, 
       u2.* 
FROM   db1.table1 u1 
       INNER JOIN db2.table2 u2 
               ON u1.id = u2.id 
WHERE  u1.id IN( '12', '16' ) ** 
       AND ** u2.id != ''