当前位置: 首页 > 知识库问答 >
问题:

select*from(QQ)x不工作,其中QQ是另一个正确运行的select语句

韦智刚
2023-03-14
select x.A from (select blah - Q1 )x join (select blah - Q2 ) y on x.A = y.A
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 workbench并没有执行它。我做错了什么?因为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

共有1个答案

颜高格
2023-03-14

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

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

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

 类似资料:
  • 问题内容: 我希望下面第三个查询的结果包含id = 732。没有。这是为什么? 表email.id中有三个NULL条目,match.id中没有NULL条目。 完整的表格/查询可以在 http://pastebin.ca/1462094 问题答案: 从 文档 : 为了符合该标准,不仅在左侧的表达式 为时返回,而且在列表中未找到匹配项并且列表中的表达式之一为时返回。 这正是您的情况。 两者和retur

  • 问题内容: 我正在使用vb.net和Access 2010作为数据库(.accdb) 这适用于MySQL: 但是,当将相同的查询传递给Access时,出现以下错误: 因此,我假设CASE语句的访问权限不同,或者访问是否完全具有该功能? PS is_enable为布尔值 问题答案: 弄清楚了: Access 2010没有CASE功能,我们改用SWITCH。 感谢

  • 问题内容: 在SQL Server中,我如何选择行10、20、30、40等,其中RowID是某个整数(+10)的相等间隔。有5万行,因此使用IN(1、10、20等)很费力。 问题答案: 您可以为此使用模。 任何人都应该做。

  • 问题内容: 我试图避免编写单独的SQL查询来实现以下情况: 我有一个称为值的表: 值: 我想检查表中是否存在某些数据,如果存在,则返回其ID,否则将其插入并返回其ID。 (非常)幼稚的方式是: 如果id不为null,请接受。如果id为null,则: 然后再次选择它以查看其ID或使用返回的ID。 我正在尝试使上述功能合而为一。我想我已经接近了,但我还没做到:到目前为止,我明白了这一点: 我正在尝试利

  • 问题内容: 假定以下查询已发布到MySQL数据库: 注意, 没有 给出 任何 子句。 我的问题是: MySQL是否能保证结果集行的顺序? 更具体地说,我是否可以假定行将按插入顺序返回?即行插入表的顺序相同。 问题答案: 不,没有保证。除非您使用子句指定顺序,否则该顺序完全取决于内部实现细节。即,对于RDBMS引擎最方便的是什么。 实际上,这些行 可能 以其原始插入顺序(或更准确地说,该行在物理存储

  • SELECT 语句,FROM 子句示例 下列示例假设在员工表中存在一个假设的工资字段。请注意,此字段 实际上在 Northwind 数据库员工表之中并不存在。 此示例创建一个 dynaset 型 Recordset,基于 SQL 语句选择在员工表中的所有纪录的姓和名字段。它调用 EnumFields 过程,且该过程打印 Recordset 对象的内容到“调试”窗口。 Sub SelectX1()