Mysql 连接三个表时,由于使用内部联接查询而发生错误
我试图在使用join查询时连接三个表,但在执行代码时,FROM子句中出现语法错误。我已经写了这个片段,请建议我的代码中的错误是什么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
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!请阅读下面的链接,并适当地编辑问题,包括你得到的实际错误:谢谢兄弟,它工作成功。我认为这个查询将对我的项目起作用,我像白痴一样编写代码。无论如何,谢谢你的建议。:-)