gpt4 book ai didi

mysql - select * from (QQ) x 不起作用,其中 QQ 是另一个可以正确运行的 select 语句

转载 作者:行者123 更新时间:2023-11-30 01:23:19 31 4
gpt4 key购买 nike

我正要对两个 select 语句执行 join。

select x.A from (select blah - Q1 )x join (select blah - Q2 ) y on x.A = y.A

我有一个查询,它位于 Q2 的位置:

select c.cust_id, c.card_id, c.name, s.name, sum(b.amt) - sum(p.amt) as DUE_AMT, DATEDIFF( now(), min(b.due_date)) AS DELAY
from cust c
inner join bill b on b.cust_id = c.cust_id
left join payment p on p.bill_id = b.bill_id
inner join street s on s.street_id = c.street_id
where c.co_id=1
group by c.cust_id

上面的语句运行正常并返回结果集。

但是当我尝试将上述查询包含在 select * from (Q2) x 中时,mysql 工作台没有执行它。我究竟做错了什么?因为 select * from (Q1) x 也就是说,如果我输入其他查询,它就可以完美工作。

select * from (
select c.cust_id, c.card_id, c.name, s.name, sum(b.amt) - sum(p.amt) as DUE_AMT, DATEDIFF( now(), min(b.due_date)) AS DELAY
from cust c
inner join bill b on b.cust_id = c.cust_id
left join payment p on p.bill_id = b.bill_id
inner join street s on s.street_id = c.street_id
where c.co_id=1
group by c.cust_id
) x

最佳答案

我自己解决了这个问题。我自己回答这个问题,这样像您这样的开发人员就不会不必要地浪费时间。

这是mysql工作台中的一个错误http://bugs.mysql.com/bug.php?id=67766这阻止了向用户显示正确的错误。

因此,根据记录,问题出在我的查询中,select 语句中有这个 c.name, s.name,它在结果集中的同一列名称下生成数据。对于正常的查询运行,可以有重复的列名。然而,对于查询结果集来说,不允许有重复的列名,这实际上很有意义。

关于mysql - select * from (QQ) x 不起作用,其中 QQ 是另一个可以正确运行的 select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18296994/

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