【发布时间】:2020-03-06 07:29:30
【问题描述】:
我想从用户表中获取电子邮件和密码,其中电子邮件是主键,而针对电子邮件,我想从帐户 ID 是外键的用户帐户中获取余额和 AccountID。并且针对那个外键,我想从表帐户中获取 accountNo
SELECT `user`.`email`, `user`.`passwrd`, `useraccounts`.`Balance`, `useraccounts`.`AccountID`, `accounts`.`AccountNo`
FROM `user` , `accounts`
LEFT JOIN `useraccounts` ON `user`.`email` = `useraccounts`.`email`
LEFT JOIN `useraccounts` ON `accounts`.`AccountID` = `useraccounts`.`AccountID`
SELECT `user`.`email`, `user`.`passwrd`, `useraccounts`.`Balance`, `useraccounts`.`AccountID`, `accounts`.`AccountNo`
FROM `user` , `accounts`
LEFT JOIN `useraccounts` ON `user`.`email` = `useraccounts`.`email`
LEFT JOIN `useraccounts` ON `accounts`.`AccountID` = `useraccounts`.`AccountID`
错误是 #1066- 不是唯一的表/别名:useraccountsenter image description here
【问题讨论】:
-
那是真的 - 你被留下两次加入用户帐户,你应该给他们两个别名(以及选择中的列)
-
修复当前错误后,您可能会遇到此问题 - '如果在存在连接条件时将逗号连接与其他连接类型混合使用,则会出现格式为未知列 'col_name' 的错误' - dev.mysql.com/doc/refman/8.0/en/join.html
-
你能纠正这个查询吗?