无法在 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;
请注意,这可能会对性能产生重大影响。
是否可以在 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;
请注意,这可能会对性能产生重大影响。