问题标签 [ms-query]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 查询以计算来自不同列的值
我正在寻找一个不能在 Access 中工作的查询,它可以为我提供完成某些要求的用户总数。我知道我可以按列分组,“棘手”的部分是,如果用户完成了 B、C 或 D 列中的任何要求,我需要将其分组为一列。换句话说,这是我的数据:
这是我正在寻找的最终结果:
sql - 分别对两列求和时出错
我有两张表,SHPORD 和 CUSTORD,我想获取到今天尚未完成的所有订单的未完成单位的总和。底部示例。
单独的查询如下所示:
这些返回所需的结果。
但是,如果我尝试像这样组合它们:
对于大约三分之一的项目,我得到了错误的结果。
此查询已被解构为尽可能简单,并且仅在使用两个 SUM 列时才会出现此问题。我不知所措。可能只是缺少一些简单的东西。
我应该使用什么查询?
例子:
sql - 使用 Excel VBA 定义的变量作为 SQL 命令文本的“IN”语句
我试图在我的 VBA 代码中将变量传递到 SQL 查询的命令文本中,但一直遇到“类型不匹配”错误。我在我的电子表格中编写了一个简单的等式,它重新创建了 IN 语句的语法,我只想将它放入查询中。
因此,单元格 A1 包含以下内容:
我的VBA的相关片段如下:
然后在重新创建我的查询命令文本(我通过“记录”功能创建)的一长串代码中,我试图注入如下变量:
如果重要的话:
- 表中的字段存储为(int,not null)。
- 我已经使用 MsgBox(x) 来验证它是否正确存储了字符串
- 字符串不超过 255 个字符的限制
- 我尝试过使用标准“?” 使用 MSQuery 传递参数的功能,也没有运气
过去我已经得到了这种技巧,但只有一个变量。需要放入 IN 语句的列表会不断变化,所以我只是想避免必须明确地调用每一个,或者必须返回 100% 的数据,然后在事后将其过滤掉.
任何帮助,将不胜感激!对完成同一件事的其他方式持开放态度;只是希望这会起作用,因为它很容易,因为电子表格已经设置好了。
更新:
今天再次处理这个问题,我发现我过度简化了这个例子,我知道字符串字符限制没有被违反,所以我假设 IN 子句的长度是可以的。通常情况下,我不应该假设这一点。
我发现 IN 子句的长度是一个因素,即使在 255 限制下也是如此。当单元格 A1 的完整长度最多包含 210 个字符时,一切都会正常工作;再举一个例子:
如果我在最后一个数字的末尾添加另一个值,以将字符数跳到 211,我将遇到“类型不匹配”错误。
我试图通过创建另一个变量来容纳字符串的其余部分来避免这种情况,但这也产生了同样的错误。如果我尝试将超过 210 的任何内容填充到代码的单个部分中,就会出现错误。
假设单元格 A1 现在包含 210 长度的版本,下面的代码将正常执行,如果 A1 包含超过 210 个字符,它会给我“类型不匹配”:
目前我刚刚将 ~230 长度的 IN 语句硬编码到实际的命令文本中,并且查询运行得很好,但是由于这个列表不仅会改变而且会增长,我仍然很好奇是否存在解决方案。
group-by - 如何防止从我的 Access 查询结果中删除重复记录?
数据
我在 MS Access 2013 工作。我有两个表('Import' 和 'Import-Pay')。我有一个查询,它结合了两者的数据。
Import-Pay 包含来自客户的交易数据,其中包括偶尔重复的交易记录(例如:客户买东西+50 美元,客户退货-50 美元,客户改变主意并再次购买+50 美元)。它很少见,但它会发生。我的问题是,在创建我的客户账单报告(查询)时,由于客户只在交易中记录销售日期,我最终在 Import-Pay 表中得到了两条 +50 美元的记录。
查询
我正在通过以下查询查询交易数据并将其与客户的辅助表信息结合起来:
我的问题
这些表是右连接的,因此应该显示我的“Import-Pay”表中的所有记录......但由于某种原因,Import-Pay 的重复记录在查询运行后丢失,给我一个不同的总 [Trans Amt]。
故障排除
- 我已经仔细检查了我的表连接,以确保这不是问题。
- 我试过删除“分组依据”声明
- 我删除了“DISTINCTROW”功能
我已经搞砸了两天了,我没有想法。非常感谢您对这个问题有新的看法!
谢谢!
sql - MSSQL - 具有多行的 2 个表合并在一个表中
我有 2 个选择返回 2 个表,在每个表中我有 12 行和 2 列,现在我只想有一个表。
第一个表的实际输出是:
第二:
我想要的只是合并这两个表看起来像
mysql - Excel 使用 MSQuery 将时间格式更改为日期时间
我用 Excel 制作了一个 MSQuery 以从 MySql 中的表中获取一些字段,这些字段工作正常,但是在 MySQL 中有一个列具有时间格式,而 Excel 以日期时间格式为我提供了这一点。我可以在 Excel 中格式化单元格,以便它以 hh:mm 格式显示时间,这不是问题,但我必须使用数据库中的这些字段在 Excel 中进行一些计算,这导致了我的问题:我不能当总和大于 24 小时时,对这些字段求和,因为这样我只得到小时的值,而不是天数乘以 24(例如,我只得到 1:15 而不是 25:15)。通常我使用这种格式 [hh]:mm 所以会显示所有值(甚至超过 24 小时),但这在这里不起作用,因为我得到一个非常高的值(例如:1017144:15)。这样做的原因是,Excel 为每个字段添加到今天的实际日期的时间(例如 12:00 将是 12.01.2016 12:00),并且对于总和中的每个时间,日期的值将被额外添加。我在 MSQuery 中使用以下语句进行了尝试:
MySQL 数据库中的所有 3 列都具有 hh:mm 格式。Ende 和 Pause 的行为如上所述,并且 Beginn 以正确的方式格式化(只是没有通过 Excel 格式化字段),但字段的内容具有字符串类型,因此,Excel 在计算时总是对这些字段使用 0(零)他们,所以我总是得到 0 作为总和。我知道我可以在 MySQL 中构建总和,但这对我来说不是解决方案,因为用户可以在 Excel 中设置一些过滤器,这在查询中构建起来很复杂,尤其是这只是更困难的构造的一部分。
ms-query - 聚合函数/ GROUP BY 子句的问题
您好,我正在尝试在 MSSQL 中执行以下查询,由于某种原因,当我在 select 语句中使用 MAX(MaxNumberLoggedOnAgentsToHalf) 时,我无法获取 DateTime 列。它抱怨:
列“Peripheral_Half_Hour.DateTime”在选择列表中无效,因为它既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
有人可以帮忙吗?这是我的选择声明:
谢谢!
mysql - 将 excel 列/单元格范围作为参数传递给 MySQL/MS 查询
我有一个 MySQL 查询,我必须在其中将 excel 单元格/列作为参数传递。即选择 * from employee where name=? 和加入日期=?
上面的查询必须从工作表 1 中两列名称和加入日期的单元格中选择两个参数,然后填充到工作表 2 中。
有什么方法可以在 MS 查询中提供一个单元格或整个列作为参数。
sorting - 如何在 MS-Access 2013 Query 中对串联字段进行排序
我在 ms-access 查询中有两个连接的字段,这些字段是:[FirstName] & " " & [LastName],我想按姓氏对它们进行排序。我如何对它们进行这样的排序?谢谢。
sql - MS QUERY/SQL 子查询语法
我觉得这个问题的答案很简单,但是我的 SQL 知识非常基础,所以请多多包涵!我使用 Excel 电子表格来跟踪我的牛奶配送业务的订单。我将电子表格设置为数据库(Excel Mac 2011 的 OBCD 驱动程序)并从中提取数据以列出我每个交货日的订单。当我有一个客户的订单被暂停时,我希望这个订单不会出现在我的交货列表中。当前用于拉取数据的 SQL 查询是:
我已经能够构建一个查询来提取排除暂停订单的数据,但在构建一个子查询时遇到问题,该子查询将列出我每个交货日的订单(名为 Tue 和 Thur 的列)并排除暂停的订单:
这在两个交货日都拉入了行,我正在寻找一种方法来获取周二/周四的所有订单,不包括暂停订单的行。(我有一个单独的星期四页面,因此可以根据需要修改查询)。提前谢谢各位。