我有两个表如下
表 1
Userid Name Gender Country
===================================================
u001 Name 1 Female IN
u002 Name 2 Male US
u003 Name 3 Male IN
u004 Name 4 Female UK
u005 Name 5 Female US
表 2
Userid UserRole Status
=======================================================
u001 r001 1
u002 r002 1
u003 r002 1
u004 r002 1
u005 r003 1
我想选择表 1 中的所有行(使用 join
是可选的),它们是 Females 并且具有 userRole
为 'r002'
。
我找不到合适的语法来做到这一点。
答案 0 :(得分:1)
SELECT * FROM `table_1` WHERE `Gender` = 'Female' and `Userid` in (SELECT `Userid` FROM `table_2` where `UserRole` = 'r002')
答案 1 :(得分:1)
SELECT t1.*
FROM `table_1` t1
INNER JOIN `table_2` t2 ON (t1.Userid = t2.Userid AND t2.UserRole = 'r002')
WHERE
t1.Gender = 'Female'