Mysql 连接三个表时,由于使用内部联接查询而发生错误

Mysql 连接三个表时,由于使用内部联接查询而发生错误,mysql,sql-server,Mysql,Sql Server,我试图在使用join查询时连接三个表,但在执行代码时,FROM子句中出现语法错误。我已经写了这个片段,请建议我的代码中的错误是什么 SELECT u.UserID, t.UserName,u.email, d.debit,d.credit,d.hand_on_cash FROM userdetails u JOIN usertable t JOIN userdata d WHERE u.UserID=t.UserID AND u.UserID=d.UserID ORDER

我试图在使用join查询时连接三个表,但在执行代码时,FROM子句中出现语法错误。我已经写了这个片段,请建议我的代码中的错误是什么

 SELECT u.UserID, t.UserName,u.email, d.debit,d.credit,d.hand_on_cash
  FROM userdetails u JOIN usertable t  JOIN userdata d
  WHERE u.UserID=t.UserID
   AND u.UserID=d.UserID
  ORDER BY u.UserID,t.UserID

您在上混合
,不需要在
WHERE中使用

SELECT u.UserID, t.UserName,u.email, d.debit,d.credit,d.hand_on_cash
      FROM userdetails u JOIN usertable t ON u.UserID=t.UserID
      JOIN userdata d ON u.UserID=d.UserID
       --WHERE u.UserID=t.UserID
       --AND u.UserID=d.UserID
      ORDER BY u.UserID,t.UserID

您混合了旧样式和新样式的联接语法。您应该使用后者:

SELECT
    u.UserID,
    t.UserName,
    u.email,
    d.debit,
    d.credit,
    d.hand_on_cash
FROM userdetails u
INNER JOIN usertable t
    ON u.UserID = t.UserID
INNER JOIN userdata d
    ON u.UserID = d.UserID
ORDER BY
    u.UserID,
    t.UserID
如果您真的想使用老式的Oracle样式的联接,它将如下所示:

SELECT
    u.UserID,
    t.UserName,
    u.email,
    d.debit,
    d.credit,
    d.hand_on_cash
FROM userdetails u, usertable t, userdata d   -- commas in the FROM clause
WHERE                                         -- not nice, but it should run
    u.UserID = t.UserID AND
    u.UserID = d.UserID                       -- the ON condition appears here
ORDER BY
    u.UserID,
    t.UserID

欢迎来到SO!请阅读下面的链接,并适当地编辑问题,包括你得到的实际错误:谢谢兄弟,它工作成功。我认为这个查询将对我的项目起作用,我像白痴一样编写代码。无论如何,谢谢你的建议。:-)