对access非常陌生,一个查询语句发生错误,求解!

wangf1978 2018-06-07 10:17:20
SELECT qb.ID,qb.quebascate_id,qb.nd_id,qb.kd_id from qb, (select qb.ID,SUM(CASE WHEN kd.name IS NOT NULL THEN 1 ELSE 0 END) AS points FROM qb LEFT JOIN kd ON CHARINDEX(',' + RTRIM( kd.ID) + ',',',' + qb.kd_id + ',') > 0 where kd.ID in(1,2,3,5,7,8,9) and qb.quebascate_id ='1' GROUP BY qb.ID )#qb where qb.ID = #qb.ID and #qb.points >0
...全文
1179 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
中国风 2018-06-12
  • 打赏
  • 举报
回复
引用 2 楼 wangf1978 的回复:
不行。我想是不是因为access支持临时表的缘故?
你是没有按照我的方法改吧? Access不支持临时表的,#1是没有用临时表 你首先要了解Access 函数语法,先入门
wangf1978 2018-06-09
  • 打赏
  • 举报
回复
不行。我想是不是因为access支持临时表的缘故?
中国风 2018-06-08
  • 打赏
  • 举报
回复
改为以下T-SQL测测 e.g.
SELECT qb.ID
     , qb.quebascate_id
     , qb.nd_id
     , qb.kd_id
FROM qb
   , (SELECT qb.ID
           , SUM(IIF( kd.name IS NOT NULL , 1
                      , 0) AS points
      FROM qb
           LEFT JOIN kd ON instr(','+qb.kd_id+',',','+CStr(kd.ID) +',' ) >0
      WHERE kd.ID IN ( 1, 2, 3, 5, 7, 8, 9 )
            AND qb.quebascate_id='1'
      GROUP BY qb.ID) qb
WHERE qb.ID=qb.ID
      AND qb.points>0;

7,712

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧