Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.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
将这两个值与SQL中的其他两个特定值进行比较_Sql_Sqlite_Compare - Fatal编程技术网

将这两个值与SQL中的其他两个特定值进行比较

将这两个值与SQL中的其他两个特定值进行比较,sql,sqlite,compare,Sql,Sqlite,Compare,我还有两张桌子: Teacher | Day | Month Day | Month Red 12 June 12 June Blue 19 May 8 September Green 15 July 2 May 我想排除第二个表中出现的所有日期,因此我想在where子句中也使用AND来构造查询:AND(

我还有两张桌子:

Teacher | Day | Month               Day | Month
  Red     12    June                12    June
 Blue     19    May                 8     September 
 Green    15    July                2     May
我想排除第二个表中出现的所有日期,因此我想在where子句中也使用AND来构造查询:
AND(day不在(“+day.table+”),month不在(“+month.table+”)“
但在这种情况下,它会删除第二个表中某一天或某一个月的所有数据(它只会给我一个绿色的老师)。我怎样才能改进它?
PS:month.table和day.table是两个简单的选项,选择我从中获取所有月份的所有日期

您要查找的
不存在

select t1.*
from t1
where not exists (select 1 from t2 where t2.day = t1.day and t2.month = t1.month);

您是否正在查找不存在的

select t1.*
from t1
where not exists (select 1 from t2 where t2.day = t1.day and t2.month = t1.month);

您可以使用LEFT JOIN并消除第二个表中有条目的条目

SELECT * FROM table1 AS t1 LEFT JOIN table2 AS t2 
ON t1.Day = t2.Day AND t1.Month = t2.Month 
WHERE t2.Day IS NOT NULL; 

您可以使用LEFT JOIN并消除第二个表中有条目的条目

SELECT * FROM table1 AS t1 LEFT JOIN table2 AS t2 
ON t1.Day = t2.Day AND t1.Month = t2.Month 
WHERE t2.Day IS NOT NULL; 

我想同时将第一个表的“日”和“月”列与第二个表的“日”和“月”列进行比较。因此,如果我发现两个日期相同,我可以排除老师。@Babbara。这就是它的作用。我想同时将第一个表的“日”和“月”列与第二个表的“日”和“月”列进行比较。因此,如果我发现两个日期相同,我可以排除老师。@Babbara。这就是它的作用。发布当前脚本和所需结果将很有帮助。发布当前脚本和所需结果将很有帮助。