gpt4 book ai didi

mysql - 并集期间出现重复的列名错误

转载 作者:太空宇宙 更新时间:2023-11-03 10:48:56 25 4
gpt4 key购买 nike

我正在使用此查询来计算 2 个表的行数,在查询末尾使用联合和别名,但它不起作用:

SELECT COUNT(*) FROM (
(SELECT * FROM bills INNER JOIN cats INNER JOIN suppliers
INNER JOIN new_cards
WHERE new_cards.`Card_Code` LIKE '%8%'
AND bills.`Sup_ID` = suppliers.`Sup_ID`
AND new_cards.`Sup_ID` = suppliers.`Sup_ID`
AND cats.`Cat_ID` = bills.`Cat_ID`
AND bills.`Cat_ID` = cats.`Cat_ID`
AND new_cards.`Bill_ID` = bills.`Bill_ID`)
UNION
(SELECT * FROM bills INNER JOIN cats INNER JOIN suppliers
INNER JOIN sold_cards WHERE
sold_cards.`Card_Code` LIKE '%8%'
AND bills.`Sup_ID` = suppliers.`Sup_ID`
AND sold_cards.`Sup_ID` = suppliers.`Sup_ID`
AND cats.`Cat_ID` = bills.`Cat_ID`
AND bills.`Cat_ID` = cats.`Cat_ID`
AND sold_cards.`Bill_ID` = bills.`Bill_ID`)
) w

错误是

Error Code: 1060
Duplicate column name 'Cat_ID'

最佳答案

似乎在 cats 和 bills 表中都有一个名为 Cat_ID 的列。当您在表的联接上执行 select * 时,您将获得重复的列名。

一些可能的解决方案:

  • 重命名其中一个表中的 Cat_ID 列
  • 明确命名您选择的列,即使用“bills.Cat_ID AS new_name, ...”代替“*”。

关于mysql - 并集期间出现重复的列名错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27204900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com