【问题标题】:Basic SQL Query without using subquery [closed]不使用子查询的基本 SQL 查询 [关闭]
【发布时间】:2013-02-13 15:25:58
【问题描述】:

tblSales:

EmployeeID, 
DailyDate, 
Sales#

如何进行查询以返回每位员工的销售额最低的天数#?

我特别想从一条 SQL 语句中运行它,我对此进行了研究,但我能弄明白!谢谢

【问题讨论】:

  • 请否决投票者可以包括他们投票的原因吗? (在更新问题以包含表格结构后,我取消了自己的反对票。)

标签: sql ms-access subquery


【解决方案1】:

我有点困惑,因为这个问题的标题和内容似乎没有关联。标题指的是一个似乎不相关的子表单。该问题还指出您可以使用子查询来执行此操作,但您想在一个语句中执行此操作,但带有子查询的查询仍然是一个语句。

因此,我从您的主要问题中提出:“我如何进行查询以返回每个员工的销售额最少的天数#?”,以及您想要的事实在一个声明中实现这一点。在这种情况下,您可以使用:

SELECT  T.EmployeeID,
        COUNT(*) AS MinDays
FROM    YourTable T
        INNER JOIN
        (   SELECT  DailyDate, MIN([Sales#]) AS MinSales
            FROM    YourTable
            GROUP BY DailyDate
        ) T2
            ON T2.DailyDate = T.DailyDate
            AND T2.[MinSales] = T.[Sales#]
GROUP BY T.EmployeeID;

【讨论】:

  • 请查看已编辑的问题,谢谢
  • 我发布的查询不符合这个目的吗?
  • 对不起,我对 SQL 很陌生,所以很有可能我在这里做错了,我收到一个错误,提示“在查询定义的 SELECT 列表中由别名“销售”引起的循环引用'
  • 我做了一点修改。请重试
  • 它要求我现在为销售输入一个参数值