我有一个包含两个表的数据库:
table1:" backup1"
table2:" backup2"
两个表都有类似
的结构id, backupid, userid, backup, info
我想做一个简单的MYSQL请求来获取一组条目
它向我显示userid
中table1
和table2
中的ALSO,以查看用户在两个表中执行备份的内容
我知道我可以打开table1查找userid
并执行另一个MYSQL以查看它是否也是
在table2
,但我希望有一个更简单的方法可以通过一个请求来完成。
答案 0 :(得分:3)
SELECT userid
FROM backup1
INNER JOIN backup2
USING(userid)
userid
字段上的内部联接将导致查询仅返回在两个表中找到的行。
答案 1 :(得分:1)
这不是通过' 2数据库',这是通过' 2表'。只需使用连接。
SELECT a.userid
from backup1 a
inner join backup2 b
on a.userid=b.userid
这将为您提供backup1中也存在于backup2
中的所有用户ID答案 2 :(得分:0)
如果您只需要知道用户是否在两个表中都进行了备份,您只需使用简单的select
语句即可。一个简单的例子,使用临时变量@uId
来保存要检查的用户的Id,以及两个临时变量来保存每个表的(布尔)答案
set @uId = 1; -- The user Id
select
@b_t1 := (select count(*) from table1 where userId=@uId) > 0 as hasBackupOnTable1,
@b_t2 := (select count(*) from table2 where userId=@uId) > 0 as hasBackupOnTable2,
@b_t1 and @b_t2 as hasBackupOnBothTables;