-2

I have a mysql query, which I want to use in MS Access.

SELECT company_name, agent_id FROM
( SELECT company_name, agent_id, @rn := IF(@prev = agent_id, @rn + 1, 1) 
  AS rn, @prev := agent_id FROM users 
  JOIN (SELECT @prev := NULL, @rn := 0) AS vars 
  ORDER BY agent_id DESC, company_name)
 AS T1 
 WHERE T1.agent_id is not null and  rn <= 3;

I have been trying to run it in Access but its throwing the error: "Syntax error in from clause".

Anurag Verma
  • 485
  • 2
  • 12

1 Answers1

0

In Microsoft Access, we can try using a "TOP n" correlated subquery in the WHERE clause.

I'd try something like this:

 SELECT t.company_name
      , t.agent_id
   FROM [users] AS [t]
  WHERE t.company_name IN
        ( SELECT TOP 3 u.company_name
            FROM [users] AS [u]
           WHERE u.agent_id = t.agent_id
           ORDER
              BY u.company_name
        )
  ORDER
     BY t.agent_id DESC
      , t.company_name       
spencer7593
  • 106,611
  • 15
  • 112
  • 140