【发布时间】:2011-04-21 13:59:05
【问题描述】:
SELECT
CASE Forms!FormName!ComboBox
WHEN Is Not Null THEN (ParentTable.Column)
FROM (Parent)
WHERE (((ParentTable.Column)=Forms!FormName!ComboBox))
ELSE
((ParentTable.Column) FROM Parent END;
好的,我有一个显示父表记录的表单,我希望能够过滤它。因此,上面的 SQL 代码试图完成的是,如果在组合框中进行了选择,则仅选择与该字段匹配的记录。其他情况是该字段为空,它只选择所有记录。我对 SQL 代码不是很熟悉,所以请尽可能解释使用的不同参数。
或者我可以使用某种 if 语句来代替吗?
【问题讨论】:
-
SQL的实现是什么? Oracle、Sql 服务器、MySQl、PostGres? -
那个 SQL 看起来坏了。至少有丢失和重复的括号。
-
我在微软访问中使用 sql
-
您没有在 Access 中使用 那个 SQL,因为 Jet/ACE 的 SQL 方言中没有 CASE/WHEN/ELSE。