AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[ms-access](dba)

Martin Hope
cosmarchy
Asked: 2024-08-24 20:39:49 +0800 CST

过滤出现在多列中的数据查询

  • 6

我正在寻找有关 Access 查询的帮助,以便从出现在两列中的另一个表中筛选出一个表中的数据。我有以下表格:

检查表

ID 碳
1 123
2 456
3 789
4 肝纤维化
5 砂岩岩浆沉积
6 ABC

源表

ID 一个 乙 F
1 123 ABC 156.pdf
2 456 440.pdf
3 防御 149.pdf
4 789 高血压 160.pdf
5 111 178.pdf
6 杰凯伦 506.pdf
7 156.pdf

我需要查询返回 check_tbl.C 中出现在 source_tbl.A 和 source_tbl.B 以及 source_tbl.F 中的每个条目,但我需要删除 check_tbl.C 同时出现在 source_tbl.A 和 source_tbl.B 中的重复项(即只返回两个结果中的一个)

返回结果应如下所示:

结果

碳 F
ABC 156.pdf
456 440.pdf
789 160.pdf

由于 check_tbl.C 中的值 123 和 ABC 分别出现在 source_tbl.A 和 source_tbl.B 中,因此只应返回一个。

到目前为止我有这个:

SELECT Check_tbl.C, source_tbl.F
FROM Check_tbl
INNER JOIN source_tbl ON Check_tbl.C = source_tbl.A
UNION SELECT Check_tbl.C, source_tbl.F
FROM Check_tbl
INNER JOIN source_tbl ON Check_tbl.C = source_tbl.B;

但它不会过滤掉重复项,并且只返回数据同时出现在source_tbl.A和source_tbl.B中的值。

如果有人能帮助我我将不胜感激。

ms-access
  • 1 个回答
  • 21 Views
Martin Hope
spinjector
Asked: 2023-08-29 21:06:07 +0800 CST

不再能够在 Microsoft Access 导航窗格中重新排序自定义组

  • 5

在大约 3 年没有过多使用 Microsoft Access 后,我发现在“自定义”视图中无法通过拖放来重新排序导航窗格中的组。

我缺少什么?他们把它删除了吗?打破它?更新不好?我忽略了一个设置?

这是针对本地安装在我的 C: 驱动器上的 Access 365。

我使用的 Access 的最后一个版本是 2007 年。直到 2020 年我都广泛使用它,我每天都生活在它之中,呼吸着它。在我的主“Workbench”数据库中,我有 2,000 多个对象和 100 多个组来保持它们井井有条。如果MS取消了重新排序功能,我想我的头可能会爆炸。

ms-access
  • 1 个回答
  • 22 Views
Martin Hope
Jimbo
Asked: 2023-07-30 20:49:53 +0800 CST

在 Microsoft Access 中创建一对多关系

  • 5

在 Microsoft Access 中,我创建了两个表。对于第一个表,Access 创建了一个不允许重复的主键 ID 字段。对于第二个表,Access 创建了一个允许重复的主键 ID 字段。我正在尝试与一侧的第一个表和多侧的第二个表创建一对多关系。但在“编辑关系”屏幕中,即使在我单击“强制引用完整性”框并加入两个主键 ID 字段后,Access 仍选择了一对一关系,并且没有提供将其更改为一对多关系的选项。我究竟做错了什么?

ms-access
  • 1 个回答
  • 8 Views
Martin Hope
Valter Ekholm
Asked: 2023-02-16 01:38:29 +0800 CST

如何在 MS Access 中打印类别树

  • 5

我有一张能力表。我把它变成了父子关系,所以例如,驾驶执照是一行,汽车驾驶执照是另一行,父级是“驾驶执照”。

这可以在 MS-Access 中、报告中或其他什么地方打印吗?像树一样打印,或者像这样的列表:

  1. 驾照
  2. 驾驶执照下的汽车驾驶执照

该表有 5 列,选择查询如下所示:

SELECT Kompetenser.[ID], Kompetenser.[created_date], Kompetenser.[namn], Kompetenser.[Metakompetens], Kompetenser.[beskrivning] FROM Kompetenser;

其中 Kompetenser.[Metakompetens] 是指同一张表的“数字”(瑞典语“Tal”)。

我找到了一个帖子是同一个问题,并且有答案,但是我无法运行 sql:

https://stackoverflow.com/a/45797072/5730322

(虽然它给出了一个列表,其中的行以父项开头,但没关系)

我试着做一个查询:

SELECT
L0.namn AS Cat0,
L1.namn AS Cat1,
L2.namn AS Cat2,
L3.namn AS Cat3,
L4.namn AS Cat4,
L5.namn AS Cat5,
L6.namn AS Cat6,
L7.namn AS Cat7
FROM
Kompetenser AS L0
LEFT JOIN Kompetenser AS L1
ON L0.ID=L1.[Metakompetens]
LEFT JOIN AS L2
ON L1.ID = L2.Metakompetens
LEFT JOIN Kompetenser AS L3
ON L2.ID = L3.Metakompetens
LEFT JOIN Kompetenser AS L4
ON L3.ID = L4.Metakompetens
LEFT JOIN Kompetenser AS L5
ON L4.ID = L5.Metakompetens
LEFT JOIN Kompetenser AS L6
ON L5.ID = L6.Metakompetens
LEFT JOIN Kompetenser AS L7
ON L6.ID = L7.Metakompetens
WHERE isnull(L0.Metakompetens)

它说(译自瑞典语):

语法错误(缺少运算符)我查询 'L0.ID=L1.[Metakompetens] ... 到查询结尾

所以问题是如何修复我的sql。

ms-access
  • 1 个回答
  • 18 Views
Martin Hope
DaringAardvark
Asked: 2022-10-07 05:47:37 +0800 CST

访问搜索表单不包括空值

  • 0

抱歉,如果这是一个过于简单的问题,我不经常使用访问权限,但被要求为我们公司用来跟踪重制零件的表格制作搜索表格。我创建了一个包含一系列未绑定字段的表单,用户可以在其中输入他们的条件来搜索表格。

该表有时具有空值或空白值,因为并非所有字段都与每个条目相关。当员工发现需要重新制作零件时,每个条目都是由员工手动输入的,因此我不确定他们未填写的字段是留空还是为空。

搜索表单部分工作,但它没有提取在我的任何搜索条件中具有空值或空白值的任何记录(即使该特定字段在表单上留空),我不知道如何获取它们在运行表单查询时填充结果。我虽然添加 or 条件 is null 会得到这些结果,但它似乎并没有像我想象的那样工作。

有 14 个可能的搜索条件,查询应该为每条返回的记录提取大约 30 列信息。

关于我在这里做错了什么的任何想法?有关示例,请参见图片。

表中的两列示例,其中并非所有记录都具有关联的订单号或行项目。 这些是我不清楚它们是空白还是空值的记录。

表单的设计视图

我用于表单的查询条件示例

ms-access query
  • 1 个回答
  • 13 Views
Martin Hope
Cerkoryn
Asked: 2022-08-26 12:57:14 +0800 CST

选择未完成所有培训的员工

  • 0

我不是频繁的 DBA,但我正在做一些事情来跟踪一些员工的培训完成情况,但我有点卡住了。我正在使用 MICROSOFT ACCESS 并有 3 个表:

           Employees
Last_Name (PK) | First_Name (PK)
     ----------+-----------
         Smith | Bob
         Bee   | Susy
...

          Training 
Training_Code (PK) | Description
     --------------+-----------
           001.001 | Orientation
           001.002 | Fundamentals of Stuff
...

        Completed Training (many-to-many)
Last_Name (FK)| First_Name (FK) | Training Code (FK) | Completion Date
    ----------+-----------------+--------------------+-----------
        Smith |       Bob       |       001.001      | 8/25/2022
        Smith |       Bob       |       001.002      | 8/25/2022
        Bee   |       Susy      |       001.001      | 8/25/2022 
        Bee   |       Susy      |       001.002      | 8/25/2022 
...

我的目标是简单地编写一个查询,返回所有未完成所有培训的员工。为此,我的计划是查询Employees表,然后执行子查询来计算表中给定员工的所有条目Completed_Training。最后,我会计算表中的总行数Training。如果员工完成了所有可用的培训,那么这两个数字将匹配并且查询不应在结果中返回他们的姓名。我最好的尝试是这样的:

SELECT *
FROM Employees
WHERE (COUNT(SELECT * FROM Completed_Training WHERE Completed_Training.Last_Name = Employees.Last_Name)) < (COUNT(SELECT * FROM Training));

我得到了错误,Cannot have aggregate function in WHERE clause (COUNT()<). 但是,我显然没有正确地概念化这一点。谁能指出我正确的方向?

ms-access
  • 1 个回答
  • 30 Views
Martin Hope
Kate M
Asked: 2022-08-24 17:24:26 +0800 CST

寻找基于文件的数据库引擎替代 MS Access

  • 0

我的公司从一开始就被束缚在这种 MS Access '97 .MDB 格式上。我们的模式是分层的,具有多个一对多的关系。我们正处于寻找替代方案的地步,因为 Access 的缓慢和整体笨拙开始影响我们的生产力。

我们访问数据库的“现代”方法涉及 DAO.Net 和大量基于哈希的缓存。.NET System.Collections.Generic.Dictionary 类型在这里是天赐之物,因为没有它,我不知道我们将如何及时完成工作。我们有多个项目,每个项目都有一个与之关联的数据库文件(有时是多个),我们倾向于通过以下两种方式之一进行交互:要么手动创建数据库(使用我们的内部编辑器),要么使用程序生成它以其他格式获取我们从另一家公司收到的数据,并将其转换为我们的格式。

在这两种情况下,我们的通用 .NET 库通过 Dictionary 将整个数据库加载到哈希表中,并通过在哈希表中按 ID 查找值来解析对象与代码的关系。在自动生成数据库时,我们使用另一组哈希表来确定一个对象在添加之前是否已经存在于缓存中。一旦我们完成了源数据的解析,我们就开始一个多线程的批量插入操作。我们这样做是因为任何其他访问数据库的方法都非常慢。

我希望我已经为我的问题提供了足够的背景信息:是否有一个数据库引擎,其查询速度可以与我正在使用的哈希表相媲美?内存和磁盘使用无关紧要,这些数据库仅存在于开发人员机器上,我们将它们转换为不同的格式以与我们的软件一起使用。我只想摆脱我的哈希表,但我不想牺牲速度来做到这一点。

ms-access c#
  • 1 个回答
  • 44 Views
Martin Hope
slimn
Asked: 2022-02-24 06:13:41 +0800 CST

MS Access 和多个用户

  • 0

我正在寻找有关 Microsoft Access 和数据库设计的帮助。

我一直在 Microsoft Access 上开发一个数据库应用程序以供我的组织使用。我在医院工作,我们有一种非常老式的(!)方法来跟踪我们的病人在医院的位置,以及他们出了什么问题。我们每天创建一个 Word 文档,该文档存储在 LAN 的共享驱动器上。可以想象——当涉及到诸如试图维护某种审计跟踪之类的事情时,这将成为一场噩梦!

我的替代解决方案是一个关系数据库,它分为一个包含查询、表单和报告的“前端”,以及一个由 15 个表组成的“后端”。这两个都是 Access DB 文件,包含在网络驱动器上的文件夹中。整个数据库结构并不太复杂——它本质上是一个包含患者详细信息的表,其他表包含与会诊详细信息、血液检查、扫描结果等相关的详细信息——基于患者的一对多关系链接唯一的医院编号。患者列表本质上是嵌入在前端的报告,基于提取数据库中当前标记为“已接受”的患者的查询。

当一个用户使用数据库时,它运行得相当好,在本地机器上执行时运行得很快,但问题是——它慢得令人沮丧——有时甚至根本不运行(导致 MS Access 停止响应并crash) -- 当多个用户尝试通过网络驱动器访问前端时。

我想知道在如何优化数据库以跨 LAN 执行方面是否缺少一些东西?或者这是否是 MS 访问的技术限制以及我是否应该将精力转移到不同的解决方案(例如带有 VB 前端的 SQLite)?不幸的是,除了基于共享文件的解决方案之外,不能使用任何其他解决方案,因为我的组织不支持它(例如,专用的 MySQL 服务器)。

感谢您的想法!

database-design ms-access
  • 1 个回答
  • 42 Views
Martin Hope
Geo_explorer
Asked: 2021-07-20 03:18:35 +0800 CST

返回具有多个 LIKE 和 NOT LIKE 要求的结果

  • 1

我正在尝试创建一个仅选择一组值但不包括其他值的查询。

我选择的列称为“参与者”,其中的值不是单个文本项,而是由逗号分隔的项目列表(长度和项目数量不同),例如:“Alpha、Delta、Eta”或值:“Beta、Gamma 或值:“Delta、Beta、Epsilon、Theta、Vau”。

我编写此查询以尝试获取仅包含 Delta、Eta、Epsilon 和 Vau 等值但不包含 Alpha、Beta、Gamma 的结果(这意味着我不希望值:“Alpha, Delta, Eta”包括在内,但我想要以下值:“Delta,Zeta,Epsilon”)

SELECT DISTINCT Name, Category, CODE, Participants
WHERE(Participants NOT LIKE '%Alpha%'
      OR Participants NOT LIKE '%Beta%'
      OR Participants NOT LIKE '%Gamma%')
     AND (Participants LIKE '%Delta%'
          OR Participants LIKE '%Eta%'
          OR Participants LIKE '%Epsilon%'
          OR Participants LIKE '%Vau%');

结果包括查询的 LIKE 部分中指定的所有值,但 NOT LIKE 似乎不起作用,因为我不断收到以下结果:“Alpha,Eta,Epsilon。

我可以在 Access 中创建多个查询以使用 LIKE 查询然后使用 NOT LIKE 进行过滤,但我想找到一种在单个查询中执行此操作的方法。

在线我只能找到查询中有一个 LIKE 和一个 NOT LIKE 的示例

有人可以提出解决方案吗?

ms-access query
  • 2 个回答
  • 33 Views
Martin Hope
Ad Astm
Asked: 2021-04-07 05:17:02 +0800 CST

合并/排序/合并/合并假人数据

  • 0

我正在寻找一种非脚本解决方案来组合来自 3 个不同表的数据(最好使用 Microsoft Excel 等电子表格软件,但数据库也可以使用,例如 Microsoft Access)。我曾尝试寻找答案,但没有找到任何有用的东西。

那么,我该如何拿这三张桌子......

表 1:过去 1 天最受欢迎的 4 个

|Label    |Frequency|Rank|
|---------|---------|----|
|Apples   |2        |4   |
|Pears    |5        |2   |
|Oranges  |10       |1   |
|Kiwis    |3        |3   |

表 2:过去 7 天最受欢迎的 4 个

|Label    |Frequency|Rank|
|---------|---------|----|
|Apples   |20       |3   |
|Pears    |50       |2   |
|Plums    |100      |1   |
|Oranges  |10       |4   |

表 3:过去 30 天最受欢迎的 4 个

|Label    |Frequency|Rank|
|---------|---------|----|
|Apples   |550      |4   |
|Pears    |650      |3   |
|Plums    |1000     |1   |
|Mangoes  |990      |2   |

...并自动将它们合并到...

表4:组合表

|Label    |30 days  |    |7 days   |    |1 days   |    |
|---------|---------|----|---------|----|---------|----|
|         |Frequency|Rank|Frequency|Rank|Frequency|Rank|
|Apples   |550      |  4 | 20      |3   |2        |4   |
|Pears    |650      |  3 | 50      |2   |5        |2   |
|Plums    |1000     |   1| 100     |1   |1        |    |
|Kiwis    |         |    |         |    |3        |3   |
|Mangoe   |990      |2   |         |    |         |    |
|Oranges  |10       |    | 10      |4   |10       |1   |

如您所见,表 4 包含表 1、2 和 3 中的列。不执行任何数学运算。

哪里有没有数据的条目,单元格留空,例如我昨天刚在店里买了一些猕猴桃卖,它们卖得很好,得到了排名,但因为我昨天才在那里拿到猕猴桃没有他们在过去 7 天和过去 30 天的销售数据。同样,在过去的 1 天或 7 天里,店里没有芒果可以卖,但实际上在过去的 30 天里它们卖得很好。

请不要,据我所知,Microsoft Excel 中的“合并”例程不能满足我的要求。

谢谢!

database-design ms-access
  • 1 个回答
  • 39 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve