【问题标题】:Not unique table/alias - MySQL Join error [closed]不是唯一的表/别名 - MySQL加入错误[关闭]
【发布时间】:2021-12-15 16:55:18
【问题描述】:

这是来自 Northwind 数据库:

select `order details`.ProductID,
`Order details`.`UnitPrice`,
`Orders`.`orderdate`,
`Orders`.`RequiredDate`
from `order details`
inner join
`order details` on `order details`.`OrderID` = `order details`.`OrderID`

我的错误是:#1066 - Not unique table/alias: 'order details'

我需要在哪里添加别名?是不是因为加入后有两个订单明细?

【问题讨论】:

  • 看看如果表名和列名中没有空格会更容易阅读吗?
  • 我假设您正在尝试将 orders 表与 `order details` 表一起加入,但这不是您写的 :)
  • 用订单代替订单详情时出现同样的错误
  • inner join `orders` on `order details`.`OrderID` = `orders`.`OrderID`
  • 另外Order detailsorder details 不同。表名区分大小写。

标签: mysql join alias


【解决方案1】:

您正在加入同一个表:"order details""order details" 而不是 "orders"

无论如何,我更喜欢并且我建议每次都使用没有空格的别名和表名。但对我来说是一种模式,只是一个建议:D

【讨论】:

  • 这是一个拼写错误,我们通常不会回答拼写错误,然后将其作为拼写错误关闭。它们对其他人几乎没有任何用处,这就是 SO 问题的主要功能
  • 更改订单时出现同样的错误
  • @CodyRaspien 有表 Order 列 OrderID 吗?你能给我们看看桌子吗?
  • @RiggsFolly 哦,对不起!我知道,但我认为错误不清楚,其他人可以通过错误而不是错字在 google 或 SO 中搜索。
  • 是的,两者的 OrderID 都是 int(11)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多