我收到错误ERROR 1066(42000):不唯一的表/别名:'order_has_artikelgroup'我无法弄清楚它有什么问题。
SELECT
`artikel`.`foto_naam`,
`fotografer`.`id`,
`fotografer`.`name_fotografer`,
`customer`.`first_name`,
`customer`.`last_name`,
`fotografer`.`domain_name`,
`fotografer`.`email`,
`order`.`invoice_no`,
`order`.`order_cost`,
`order`.`total_cost`,
`order`.`invoice_date`,
`order`.`payment`,
`order`.`status`
FROM
`artikel_group`
INNER JOIN `artikel` ON `artikel_group`.`id` = `artikel`.`artikelgroup_id`
INNER JOIN `fotografer` ON `artikel_group`.`fotografer_id` = `fotografer`.`id`
INNER JOIN `order_has_artikelgroup` ON `order_has_artikelgroup`.`order_id` = `order`.`id`
INNER JOIN `order_has_artikelgroup` ON `order_has_artikelgroup`.`artikelgroup_id` = `artikel_group`.`id`
INNER JOIN `customer` ON `order`.`customer_id` = `customer`.`id`
答案 0 :(得分:1)
你有两次加入桌面
order_has_artikelgroup
INNER JOIN `order_has_artikelgroup` ON `order_has_artikelgroup`.`order_id` = `order`.`id`
INNER JOIN `order_has_artikelgroup` ON `order_has_artikelgroup`.`artikelgroup_id` = `artikel_group`.`id`
但查询的每个元素都必须是唯一的。
所以你应该添加一个别名
类似
INNER JOIN `order_has_artikelgroup` oha ON oha.`order_id` = `order`.`id`
INNER JOIN `order_has_artikelgroup` oha2 ON oha2 .`artikelgroup_id` = `artikel_group`.`id`
(如果需要,也可以在select子句中使用oha和oha2)
或更改您的联接(取决于查询的逻辑)
INNER JOIN `order_has_artikelgroup`
ON `order_has_artikelgroup`.`order_id` = `order`.`id` and
`order_has_artikel_group`.`artikelgroup_id` = `artikel_group`.`id`