Bug #1751 SQL Statement
Submitted: 4 Nov 2003 19:21 Modified: 4 Nov 2003 20:25
Reporter: Kalim Julia Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Command-line Clients Severity:S2 (Serious)
Version: OS:Windows (Windows)
Assigned to: CPU Architecture:Any

[4 Nov 2003 19:21] Kalim Julia
Description:
Here is my SQL Statement :

SELECT DISTINCT MD.ModuleID, MD.ModuleText FROM USERPROFILE UP INNER JOIN (MODULE MD INNER JOIN (GROUPMENU GM INNER JOIN MENU MN ON GM.MenuID = MN.MenuID) ON MD.ModuleID = MN.SysID) ON UP.GroupID = GM.GroupID WHERE (((UP.UID)='KALIM'));

I can run it smoothly on MS SQL Server and MS Access;

But why MySQL said :

MySQL said: 
You have an error in your SQL syntax near '(MODULE MD INNER JOIN (GROUPMENU GM INNER JOIN MENU MN ON GM.MenuID = MN.MenuID)' at line 1

I think my SQL Statement is a standard statement. Any suggestion ?

How to repeat:
UserProfile table consist of
  UID  varchar(15)   
  GroupID  varchar(10)
  Name  varchar(30)
  Password  varchar(20)
  LoginID  double   
  IsLogIn  tinyint(1)
  OverwriteLogin tinyint(1)
  LastCompany varchar(5)
  HTTPMailPath varchar(255)
  EmailAddress  varchar(255)
  Recuserid  varchar(15)
  Recdate  datetime

Module table consist of
  ModuleID  char(2)
  ModuleText  varchar(50)   
  Description  varchar(255)
  Recuserid  varchar(15)
  Recdate  datetime   

GroupMenu table consist of
  GroupID  varchar(10)
  MenuID  varchar(10) 

Menu table consist of
  SysID  char(2)
  MenuID  varchar(10)
  Description  varchar(50)
  ExecFile  varchar(125)
  SubCat  tinyint(3)  
  ParentID  varchar(10)
  Version  varchar(10) 
  Customized  tinyint(3)
  Interface  char(1)   
  LatestVersion  varchar(5)
  Recuserid  varchar(15)   
  Recdate  datetime 

Suggested fix:
My SQL Statement should run ok since what I'm use is only a standard one and can be run on other database
[4 Nov 2003 20:25] Dean Ellis
MySQL does not currently support nested joins.  Support for them is planned but it is not available at this time.

Thank you