Mysql sql查找所有结果的最佳方法显示在两个具有条件的表中
我是sql初学者,希望您能帮助我: MYSQL服务器5 表1 +----+----------+------------+------+ | ID | USERCODE | ENTITYCODE | DATE | +----+----------+------------+------+ | x | CODE123 | 010011 | ... | | x | CODE123 | 010012 | ... | | x | CODE123 | 010045 | ... | +----+----------+------------+------+ +----+----------+------------+------+ |ID |用户代码|实体代码|日期| +----+----------+------------+------+ |x |代码123 | 010011 || |x |代码123 | 010012 || |x |代码123 | 010045 || +----+----------+------------+------+ 表2 +----+----------+------------+-------------+-------------+ | ID | USERCODE | ENTITYCODE | OTHERFIELD1 | OTHERFIELD2 | +----+----------+------------+-------------+-------------+ | x | CODE123 | 010011 | ... | ... | | x | CODE123 | 010012 | ... | ... | | x | CODE123 | 010045 | ... | ... | | .. | .. | .. | ... | ... | +----+----------+------------+-------------+-------------+ +----+----------+------------+-------------+-------------+ |ID |用户代码|实体代码|其他字段1 |其他字段2| +----+----------+------------+-------------+-------------+ |x |代码123 | 010011 |…|| |x |代码123 | 010012 |……|| |x |代码123 | 010045 |…|| | .. | .. | .. | ... | ... | +----+----------+------------+-------------+-------------+ 实体表 +------------+-------------+-------------+-------------+ | ENTITYCODE | OTHERFIELD1 | OTHERFIELD2 | SPECIALCODE | +------------+-------------+-------------+-------------+ | 010011 | .. | .. | 100 | | 010012 | .. | .. | 105 | | 010045 | .. | .. | 111 | | .. | .. | ... | ... | +------------+-------------+-------------+-------------+ +------------+-------------+-------------+-------------+ |实体代码|其他字段1 |其他字段2 |特殊代码| +------------+-------------+-------------+-------------+ | 010011 | .. | .. | 100 | | 010012 | .. | .. | 105 | | 010045 | .. | .. | 111 | | .. | .. | ... | ... | +------------+-------------+-------------+-------------+ 预期结果 约束:表1、表2和ENTITY.specialcode=105中存在的所有用户代码、实体代码 +-----------+------------+ | USERCODE | ENTITYCODE | +-----------+------------+ | CODE123 | 010012 | +-----------+------------+ +-----------+------------+ |用户代码| ENTITYCODE| +-----------+------------+ |代码123 | 010012| +-----------+------------+ 试一试 参考:Mysql sql查找所有结果的最佳方法显示在两个具有条件的表中,mysql,sql,compare,Mysql,Sql,Compare,我是sql初学者,希望您能帮助我: MYSQL服务器5 表1 +----+----------+------------+------+ | ID | USERCODE | ENTITYCODE | DATE | +----+----------+------------+------+ | x | CODE123 | 010011 | ... | | x | CODE123 | 010012 | ... | | x | CODE123 | 010045
SELECT a.USERCODE , a.ENTITYCODE
FROM table1 a
JOIN table2 b ON a.USERCODE = b.USERCODE AND a.ENTITYCODE = b.ENTITYCODE
JOIN entity c ON a.ENTITYCODE = c.ENTITYCODE
WHERE c.SPECIALCODE = 105
SELECT USERCODE,ENTITYCODE FROM table1 INNER JOIN table2 ON table1.ENTITYCODE = table2.ENTITYCODE
INNER JOIN entity ON entity.ENTITYCODE = table1.ENTITYCODE
WHERE SPECIALCODE = 105