Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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 在子查询的何处选择_Mysql - Fatal编程技术网

Mysql 在子查询的何处选择

Mysql 在子查询的何处选择,mysql,Mysql,我有以下疑问: SELECT u.*, m.first_name, m.last_name FROM unit u INNER JOIN member m ON m.id = u.member_id WHERE u.id in (SELECT p.id FROM property p WHERE p.member_id = 1 and p.is_deleted = 0) AND u.is_deleted = 0 这并不能产生我想要的。如果我单独运行WH

我有以下疑问:

SELECT u.*, m.first_name, m.last_name
FROM unit u
INNER JOIN member m
ON m.id = u.member_id
WHERE u.id in (SELECT p.id FROM property p
               WHERE p.member_id = 1 and p.is_deleted = 0) AND
      u.is_deleted = 0
这并不能产生我想要的。如果我单独运行WHERE in part select p.id from property p WHERE p.member_id=1和p.is_deleted=0中的子查询,则返回1,2,3,6,但完整查询似乎仅作为子查询的结果得到1

有人吗

编辑:附带以下结果的屏幕:

1完整的查询结果:

2子查询结果

3单元表

4属性表


这是您的正确查询。你的错误在条款中。检查以下内容是否正确

select u.*, m.first_name, m.last_name 
from unit u 
inner join member m on m.id = u.member_id 
where u.is_deleted = 0 
AND u.property_id IN 
(select pr.id as pids from property pr where pr.member_id = 1 and pr.is_deleted = 0)
检查屏幕截图的结果。

如果没有一些样本数据和预期结果,我们应该如何修复您的查询?@LelioFaieta我认为不行。您的子查询很好,问题可能在于第二个条件u.is_deleted=0是否其他条件没有返回,因为u.is_deleted=1在您的单位表中,只有4个ID。1,2,3,4. 4是不相关的,因为它的成员id是2。在属性表中,有6个ID。1-6. 5是不相关的,如果删除=1。6不在单位表中。因此,您的查询只与预期的1、2和3匹配。