Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.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 sql查找所有结果的最佳方法显示在两个具有条件的表中_Mysql_Sql_Compare - Fatal编程技术网

Mysql sql查找所有结果的最佳方法显示在两个具有条件的表中

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

我是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| +-----------+------------+ 试一试

参考:


不起作用,我在结果中得到了重复的行,我不确定distinct是最好的方法…你能用示例datathx创建一个sqlfiddle.com链接吗?很多时候,它工作得很好,我写了相同的请求,但使用了内部连接重复结果
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