当前位置: 首页 > 面试题库 >

在查询之间引用字段值

伯向晨
2023-03-14
问题内容

我试图通过使用查询在Access中创建一个计算。目前,一个查询计算出“
MPP油”的值(最大生产潜力),而另一个查询需要使用该值来计算“未分配的损失”。这些计算使用来自基本查询“
PEBaseQuery”的公司/资产/年份数据。其他输入值(用于计算未分配的损失)使用ID引用…虽然我的代码似乎有误,请帮忙!

SELECT 
    qb1.CompanyName, 
    qb1.AssetName, 
    qb1.Year, 
    (qb3.MPPOilRevised 
     - SUM(qb1.DatapointValue) 
     - SUM(qb2.DatapointValue * 1000000)) AS Result
FROM 
    ((PEBaseQuery AS qb1 
    INNER JOIN PEBaseQuery AS qb2 
    ON qb1.Year = qb2.Year AND qb1.AssetName=qb2.AssetName)
    INNER JOIN PE_MPPOilRevised AS qb3 
    ON qb1.Year = qb3.Year AND qb1.AssetName=qb3.AssetName)
WHERE 
    qb1.DatapointID in (2033, 2035, 2043, 2037, 2031) 
AND qb2.DatapointID=2003
GROUP BY qb1.CompanyName, qb1.AssetName, qb1.Year;

问题答案:

从您在评论中提到的错误:

错误“您试图执行不包含指定表达式“ CompanyName”作为聚合函数一部分的查询”

使用聚合函数要求您按SELECT列表中除聚合列以外的列进行分组。

编辑:

我认为这是您要寻找的:

SELECT
    qb1.CompanyName, 
    qb1.AssetName, 
    qb1.Year, 
    qb3.MPPOilRevised - TotalDataPointValue - TotalDataPointValueFactor
FROM
    ((
        SELECT 
            qb1.CompanyName, 
            qb1.AssetName, 
            qb1.Year, 
            SUM(qb1.DatapointValue) 'TotalDataPointValue',
            SUM(qb2.DatapointValue * 1000000) 'TotalDataPointValueFactor'
        FROM 
            (PEBaseQuery AS qb1 
            INNER JOIN PEBaseQuery AS qb2 
            ON qb1.Year = qb2.Year AND qb1.AssetName = qb2.AssetName)
        WHERE 
            qb1.DatapointID in (2033, 2035, 2043, 2037, 2031) 
        AND qb2.DatapointID = 2003
        GROUP BY qb1.CompanyName, qb1.AssetName, qb1.Year
    ) qb1
    INNER JOIN PE_MPPOilRevised AS qb3 
    ON qb1.Year = qb3.Year AND qb1.AssetName=qb3.AssetName)


 类似资料:
  • 索引时间字段提升和查询时间提升 Lucene的FAQ似乎与javadoc冲突。(Lucene 4.9.0) 常见问题: 索引时间字段增强(field.set增强(增强))是一种表达类似于“此文档的标题价值是大多数文档标题的两倍”的方式。查询时间提升(query.setBoost(提升))是表达“我关心查询的这个子句上的匹配是关心查询的其他子句上的匹配的两倍”的一种方式。 如果您在每个文档上设置索引

  • 我在Elasticsearch中存储了一个日志文件,其中一个文档是文件的单行。消息块以某些关键字开始和结束。我想获取包含这些关键字的文档之间的所有文档。有没有办法利用Elasticsearch中的范围查询/范围过滤器来查询文本字段? 示例日志文件: 。。 我想查询“关键字1”和“关键字2”之间的所有文档,包括包含关键字本身的文档。假设有多个这样的块具有“关键字1”和“关键字2”。 此外,我正在用一

  • 问题内容: 我有一个包含两个文本框供用户输入的表单。两个文本框的“属性”格式均设置为“短日期”。一个是“开始日期”,另一个是“结束日期”。我也有几个表,每个表都有一个DateTime字段(“studystartdatetime”)。我希望能够查询这些表,但将结果限制为DateTime字段介于输入的日期(含)之间的行。当前,条件是: 但是,这不会返回在指定的结束日期发生的行。 我已经尝试过将CDat

  • 我正在通过猫鼬使用MongoDB。 > MongoDB是执行集合扫描还是索引有助于提高查询效率?查询是否与仅使用id字段有任何不同? 如果MongoDB在您查询非索引字段时进行集合扫描。如果集合扫描完全相同,查询多个非索引字段是否会加快查询速度?假设我查询五个非索引字段而不是两个(都返回相同的文档)。两个查询是否都进行相同的集合扫描?

  • 我对firestore(和编程)比较陌生,无法在网上找到解决问题的方法。 如果还有什么可能有帮助的,请告诉我。谢谢! 编辑以显示下一次尝试:

  • 在这里给ElasticSearch的初学者排名。 我有一个客户列表,他们的订单作为一个嵌套字段。假设文档结构如下: 我想查询的是:在两个日期之间订购了一定数量的用户列表。我希望能够将它与例如生日的范围查询结合起来。 我已经到了这样的地步,我可以使用聚合来获得每个订户在两个日期之间的排序总和: 但是,我想限制查询部分返回的结果,以便更好地与所有其他过滤器混合。 我的第一个想法是使用一个脚本过滤器,并