【发布时间】:2012-10-12 13:19:41
【问题描述】:
我有以下用 MS Access 编写的查询
SELECT DISTINCT Table1.ColumnA, Table1.ColumnB,Table1.ColumnC,Table1.ColumnD,Table1.ColumnE
FROM Table2
RIGHT JOIN Table1 ON (Table2.ColumnB = Table1.ColumnF)
WHERE (Table1.ColumnF <>28) OR (Table1.ColumnF<>29)
- 尝试使用和不使用括号
- 当我只有一个 where 语句时,262 条记录按预期下降到 160 条记录
- 当我通过 OR 连接了两个条件时,记录返回到 262,显然没有达到预期的效果。即使第一个条件成立,我也不应该回到 262 条记录。
我的问题是我的查询出了什么问题,尤其是与 WHERE XXX OR XXX?
其次,RIGHT JOIN 语句是否对后续 WHERE 语句的结果有任何影响。
第三,如果我不能将 RIGHT JOIN 和 WHERE 结合起来,那么将条件应用于依赖 RIGHT JOIN 的查询的最佳方式是什么?
感谢任何帮助!
【问题讨论】:
标签: sql ms-access select join where-clause