Ms access 查询表达式中的MS ACCESS语法错误(缺少运算符)

Ms access 查询表达式中的MS ACCESS语法错误(缺少运算符),ms-access,Ms Access,我想得到上面和下面两条记录,总共五条记录@mcbalaji 作为一个提纲,让我们从简单已知的步骤逐步构建sql。 创建并运行其中的每一个- SELECT t.Padal, u.Nool FROM (SELECT m.*, @n1:=@n1 + 1 num, @n2:=IF(Padal = 'பசிப் பிடி உதைத்த ஓமைச் செவ் வரை' , @ n1, @n2) pos

我想得到上面和下面两条记录,总共五条记录

@mcbalaji 作为一个提纲,让我们从简单已知的步骤逐步构建sql。 创建并运行其中的每一个-

 SELECT t.Padal, u.Nool 
   FROM  (SELECT m.*, @n1:=@n1 + 1 num, 
                 @n2:=IF(Padal = 'பசிப் பிடி உதைத்த ஓமைச் செவ் வரை' , @
                         n1, @n2) pos 
            FROM tbl_padal m, (SELECT @n1:=0, @n2:=0) n 
           ORDER BY m.uqPadalid 
         ) t, tbl_Nool u 
  WHERE t.uqnoolId = u.uqnoolID 
    and u.nool = 'நற்றிணை' 
    and @n2 >= num - 2 
    AND @n2 <= num + 2

错误消息正确,这是无效的Access SQL语法。请编辑您的问题,用文字解释您希望查询返回的内容。这一点都没有帮助,但我认为谷歌没有正确地翻译这一点Omai Tue像饿了一样踢起来了?!我知道,不重要,只是有趣而已。SQL也是如此。如果你只选择t.Padal和u.Nool——这两个都是“Where”标准,那么在我看来,你不会返回任何其他内容。或者我读错了吗?我有两个表tbl_padal和tbl_nool。两个表的唯一id都是uqnoolID。我想要tbl_padal表中的padal列和tbl_nool表中的nool列。我想要padal列结果记录加上该表中的2条以上和以下记录。例如,如果一个表得到的是5它应该带来3 4 5 6 7记录查看,哪个sql和哪一行显示了什么错误?没有任何事情可以继续,这有点困难。。。tkx
1st  SELECT m.* From tbl_padal  m    (note that it is not ordered by uqPadalid)

2nd  SELECT m.* From tbl_padal  m  ORDER By uqPadalid     (now it is ordered)

3rd  SELECT 
     (SELECT Count(*) + 1 FROM tbl_padal AS A WHERE A.uqPadalid < m.uqPadalid ) as RowNum,
     m.*  From tbl_padal  m  ORDER By m.uqPadalid         (now it also has RowNum-s)

4th  So lets pick the central one that we want--
     SELECT RowNum FROM  
       (   SELECT 
           (SELECT Count(*) + 1 FROM tbl_padal AS A WHERE A.uqPadalid < m.uqPadalid ) as RowNum,
           m.Padal,
           m.uqPadalid  From tbl_padal  m  ORDER By m.uqPadalid        
       )
     Where m.Padal = 'your constant' 



Lastly--

SELECT  
  nums.RowNum,
  mm.RowNum,
  mm.Padal,
  mm.uqPadalid
  u.nool

FROM  (
  (   SELECT RowNum, uqPadalid FROM  
       (   SELECT 
           (SELECT Count(*) + 1 FROM tbl_padal AS A WHERE A.uqPadalid < m.uqPadalid ) as RowNum,
           m.Padal,
           m.uqPadalid  From tbl_padal  m  ORDER By m.uqPadalid        
       )
     Where m.Padal = 'constant1' 
  ) as nums

LEFT JOIN

  (   SELECT 
           (SELECT Count(*) + 1 FROM tbl_padal AS A WHERE A.uqPadalid < m.uqPadalid ) as RowNum,
           m.Padal,
           m.uqPadalid  From tbl_padal  m  ORDER By m.uqPadalid  
  ) as mm
   ON                      mm.RowNum  <=   nums.RowNum +2 
    AND nums.Rownum -2 <= mm.RowNum )

LEFT JOIN
   tbl_nool  u
Where mm.uqPadalid = u.uqPadalid
And  u.nool = 'constant2'

Order By  mm.RowNum