将这两个值与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。这就是它的作用。发布当前脚本和所需结果将很有帮助。发布当前脚本和所需结果将很有帮助。