无法在 transform sql 语句中使用 HAVING 子句?

Not possible to use HAVING clause in transform sql statement?

是否可以在 MS Access 2010 中将 HAVING 子句与转换语句一起使用? 我不断收到“转换语句中的语法错误”

我的sql是

TRANSFORM FIRST(appointment_date) As FirstOfappointment_date
SELECT rank, complete_name
FROM appointment_overview
WHERE status IS NULL OR status <> ‘Deleted’
GROUP BY rank, complete_name
HAVING COUNT(appointment_id) < 2
PIVOT type;

我尝试单独测试 select 语句,它工作正常

访问不支持我尝试做的事情吗?

确实,Having 在执行 Pivot 时不可用。

一种可能的解决方法是使用子查询,并将 Having 子句移动到 Where 子句:

TRANSFORM FIRST(appointment_date) As FirstOfappointment_date
SELECT rank, complete_name
FROM appointment_overview a
WHERE (status IS NULL OR status <> 'Deleted')
AND (SELECT Count(s.appointment_id) FROM appointment_overview s WHERE (status IS NULL OR status <> 'Deleted') AND s.rank = a.rank AND s.complete_name = a.complete_name) = 2
GROUP BY rank, complete_name
PIVOT type;

请注意,这可能会对性能产生重大影响。