SQL(LibreOfficeBase)如何在两列之间执行逻辑函数



我正试图通过两列之间的比较来筛选表。例如,想象一下表Student的列TestPassed和表Course的测试要求。

给出以下观点:

id.Course id.Student     Course.TestRequired Student.TestPassed
1         66             True                True
2         66             False               True
...
99        52             True                False
100       32             False               False

我想通过在条件和学生的数据之间执行NOT(XOR(来过滤这样一个表(即同时为true和false(。结果是:

id.Course id.Student        Course.TestRequired Student.TestPassed
1         66                True                True
2         52                False               True
69        32                False               False

这在SQL中可能吗?我做了这样的事。但是如何将其扩展到一般逻辑表达式呢?

SELECT "IdCourse", "IdStudent", "TestRequired", "TestPassed" ,
CASE WHEN "TestRequired" = "TestPassed" THEN 'YES'
ELSE 'NO' 
END AS Results
FROM "Filter_Partecipant_Course_byTestRequired"

如果只想选择不同的结果,可以用WHERE子句来完成:

Select IdCourse, IdStudent, TestRequired, TestPassed
FROM Filter_Partecipant_Course_byTestRequired
WHERE TestRequired <> TestPassed

这样,如果其中一个值为true,那么另一个值必须为false才能返回

相关内容

  • 没有找到相关文章

最新更新