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 != ''