【发布时间】:2023-03-20 22:18:01
【问题描述】:
我有四张桌子,user、user_billingprofile、user_shippingprofile 和 user_address。
用户: userId,创建日期
user_billingprofile: userId,地址
user_shippingprofile: userId,地址
user_address:随机地址废话
这是我必须一次性获得用户计费和运输资料的查询。
SELECT * FROM `user`
JOIN `user_billingprofile` ON `user`.`userId` = `user_billingprofile`.`userId`
JOIN `user_address` ON `user_billingprofile`.`currentAddress` = `user_address`.`addressId`
JOIN `user_shippingprofile` ON `user_shippingprofile`.`currentAddress` = `user_address`.`addressId`
JOIN `user_address` ON `user_shippingprofile`.`currentAddress` = `user_address`.`addressId`
我收到错误:#1066 - Not unique table/alias: 'user_address'。
有没有办法进行简单的连接,在同一个查询中访问一个表两次,并将两个结果分开?最好使用某种表前缀...
我有点迷路了。我知道我可以很容易地在两个单独的查询中做到这一点,但我想学习如何一次性完成这样的事情。
非常感谢任何帮助/建议/指导,谢谢!。
【问题讨论】:
标签: mysql join mysql-error-1066