Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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 - Fatal编程技术网

Mysql SQL查询连接多个表以满足所有条件或不返回任何条件

Mysql SQL查询连接多个表以满足所有条件或不返回任何条件,mysql,sql,Mysql,Sql,我有这个场景和查询结果集。我需要使用特定条件过滤结果集 我有: SELECT ord_no,parent_item,child_item,status FROM **TABLE1** WHERE parent_item IN ('ITEM1') AND ord_no IN ('12345','34567','67854') UNION ALL SELECT ord_no,parent_item,child_item,status FROM **TABLE2** WHERE paren

我有这个场景和查询结果集。我需要使用特定条件过滤结果集

我有:

SELECT 
ord_no,parent_item,child_item,status

FROM **TABLE1** WHERE parent_item IN ('ITEM1') AND ord_no IN ('12345','34567','67854')

UNION ALL

SELECT 
ord_no,parent_item,child_item,status

FROM **TABLE2** WHERE parent_item IN ('ITEM2') AND ord_no IN ('12345','34567','67854')

UNION ALL

SELECT 
ord_no,parent_item,child_item,status

FROM **TABLE3** WHERE parent_item IN ('ITEM3') AND ord_no IN ('12345','34567','67854')
查询返回的结果是这样的,我要寻找的预期结果是只返回所有子项都处于完成状态的特定订单号

查询结果:

ord_no parent_item child_item status
12345   item1   childA  complete
12345   item1   childB  complete
12345   item2   childC  complete
12345   item2   childD  incomplete
12345   item3   childE  incomplete
12345   item3   childF  complete

34567   item1   childA  complete
34567   item1   childB  complete
34567   item2   childC  complete
34567   item2   childD  complete
34567   item3   childE  complete
34567   item3   childF  complete

67854   item1   childA  incomplete
67854   item1   childB  incomplete
67854   item2   childC  complete
67854   item2   childD  complete
67854   item3   childE  incomplete
67854   item3   childF  incomplete
预期结果:

我不知道如何实现这一点。在此方面的任何帮助都将不胜感激

ord_no parent_item child_item status

34567   item1   childA  complete
34567   item1   childB  complete
34567   item2   childC  complete
34567   item2   childD  complete
34567   item3   childE  complete
34567   item3   childF  complete
可以从现有查询中删除,以避免使用长表达式,并将其用于子查询

SELECT *
FROM MyView 
WHERE ord_no NOT IN
  (SELECT ord_no
  FROM MyView
  WHERE status <> 'complete');

欢迎来到SO!请提供1实际表模式的相关部分以及示例数据2确切的期望输出3您迄今为止的尝试相信,如果您没有准备好实际表结构,您不能指望我们帮助您进行查询