Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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_Conditional Statements_Where Clause - Fatal编程技术网

Mysql SQL条件语句

Mysql SQL条件语句,mysql,sql,conditional-statements,where-clause,Mysql,Sql,Conditional Statements,Where Clause,我正在使用MySQL 5.6.23。在我的数据库中,我有两个表,tblFiles和tblLogs。表tblFiles包含一个ID PK、文件路径和文件名 表tblLogs包含一个ID PK、tblFiles中一个条目的引用ID FK和一个操作代码0、1或2 tblFiles中的条目可能如下所示: 1 | c:\root\files | test1.txt 2 | c:\root\files | test2.txt 3 | c:\root\files | test3.txt tblFiles中的

我正在使用MySQL 5.6.23。在我的数据库中,我有两个表,tblFiles和tblLogs。表tblFiles包含一个ID PK、文件路径和文件名

表tblLogs包含一个ID PK、tblFiles中一个条目的引用ID FK和一个操作代码0、1或2

tblFiles中的条目可能如下所示:

1 | c:\root\files | test1.txt
2 | c:\root\files | test2.txt
3 | c:\root\files | test3.txt
tblFiles中的条目可能看起来像

1 | 1 | 0
2 | 1 | 1
3 | 2 | 0
4 | 3 | 2
我需要从tblFiles中获取所有在tblLogs中只有操作代码0的文件的路径和文件名。在上面的示例中,查询应返回:

c:\root\files | test2.txt
如果你觉得这个问题很奇怪,那是因为这是我任务的一部分。现在,我正试图找出如何只获取actionCode为0的条目,即只获取一个将返回referenceID为2的查询。我尝试过不同的问题,如:

SELECT referenceID FROM tblLogs WHERE actionCode = 0 AND (actionCode != 1 OR actionCode != 2);
我甚至不知道这样的查询是否可能,尽管。。。如果你们能帮助我,我将不胜感激

这里有一种使用max和min的方法:


如果条件是:actionCode=0,则根本不需要此:和actionCode!=1或操作码!=2;@豪尔赫·坎波斯是真的。经过一些研究,我现在了解了更多的情况。我试图找到一种方法,从我的结果中删除可能包含actionCode 1或actionCode 2的值。这非常有效。我从来没有想到我们可以这样使用最小值和最大值!出于我自己的好奇,如果actionCode是一个单独的角色,你会怎么做?还是一个瓦查尔?
select f.loc, f.name
from tblFiles f
  join tblLogs l on f.id = l.referenceid
group by f.loc, f.name
having max(l.actioncode) = 0 and min(l.actioncode) = 0