ACCESS/SQL:如何同时插入/更新?

2024-03-14

这是我的情况。 首先,我不是在关系数据库上工作,我只是使用访问作为操作数据的简单方法。 目前,我有很多桌子。
一个主表,我们称之为 MAIN,还有大约 10 个其他表,我们可以称之为 X1、X2、X3 等。 X1 表包含具有 X1 属性的项目。 X2 表包含具有 X2 属性的项目,依此类推。

所有 Xx 表都有相同的字段。 MAIN 表也有相同的字段,此外还有布尔值字段 X1、X2 等。

我想做的事:

我想向 MAIN 表提供 Xx 表中的数据。
事实是,有些项目可能具有多个属性,因此它们可以出现在 X1、X2、X5 中。

所以我首先尝试运行这个:

UPDATE MAIN
SET itemnumber = X1.itemnumber, x1 = "true";

但它没有给出任何东西。现在我认为这只是合乎逻辑的,因为主表中还没有任何记录。

不管怎样,我可以写什么查询来做到这一点:
如果MAIN中尚不存在表X1的记录,则添加该记录并将X1字段设置为true。
如果MAIN中已经存在X1的记录,则更新它并将X1字段设置为true。

(然后我会更新它以在我拥有的每个 X 表上运行。)

我正在考虑 INSERT INTO,但我不想覆盖已经存在的数据或生成错误(我真的不太了解这一切 >_>)

预先感谢任何可以提供提示的人。

edit 1
我想我首先尝试将 Xx 表中的所有数据插入到 MAIN 表中(它们具有相同的结构)

所以我一开始尝试了这个:

INSERT INTO MAIN.itemnumber
(select X1.itemnumber from X1
UNION ALL
select X2.itemnumber from X2)

只在一个字段上尝试一下,看看它是否有效,但它不起作用:/

我想一旦我添加了 X 表中的所有数据,然后我对每个 Xx 表使用 WHERE EXISTS 运行一些 UPDATE,将相应的 Xx 属性设置为 true,然后就完成了。

但我什至很难做一些“简单”的事情,比如将几个表中的数据合并到一个表中......


首先,你are使用关系数据库,即使它设计得很糟糕。

其次,您将无法使用 SQL 在同一语句中进行插入和更新。 SQL Server 2008 中为此引入了一个特殊子句,但它既不是标准 SQL 的一部分,也不是 Access 变体的一部分。

第三,你是almost就与你的INSERT声明在你的edit 1,但不完全是。试试这个:

INSERT INTO MAIN (
  field1,
  field2,
  x1,
  x2,
  ...)
SELECT
  field1,
  field2,
  True,
  False,
  ...
FROM X1
UNION ALL
SELECT
  field1,
  field2,
  False,
  True,
  ...
FROM X2
...

在代码中,field1 and field2是替身all所有表共有的“相同字段”,以及列表x1, x2等,需要继续,直到包含 MAIN 中的所有 xX 字段。然后在每个SELECT那个参加UNION有尽可能多的False与 MAIN 中的字段计数相匹配,减去在位置上占用的字段计数True(注意:如果它是真正的布尔数据类型,则无需引号 - 在 Access 中不能为 Null)xX field.

当然,这是假设我已经正确理解了你描述不善的模式......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ACCESS/SQL:如何同时插入/更新? 的相关文章

  • 如何在事务中使用链接服务器插入远程表?

    我的链接服务器设置正确 我能够执行以下查询 插入 远程服务器 表 SELECT FROM 本地服务器 表 然而当我做同样的事情时交易内 开始传输 插入 远程服务器 表 SELECT FROM 本地服务器 表 提交交易 我收到类似的错误 用于
  • Oracle - 获取星期几

    今天是星期二 为什么当我运行这个 SQL 语句时 它说今天不是星期二 SELECT CASE WHEN TO CHAR sysdate Day Tuesday THEN Its Tuesday ELSE Its Not Tuesday EN
  • 更新 SQLAlchemy 中的特定行

    我将 SQLAlchemy 与 python 一起使用 我想更新表中等于此查询的特定行 UPDATE User SET name user WHERE id 3 我通过 sql alchemy 编写了这段代码 但它不起作用 session
  • 按原样将 SQL 保存到 YAML

    我想以我自己的格式将 SQL 保存到 YAML 文件 如下所示 1 sql SELECT DISTINCT p id product p price AS price sp reduction AS discount FROM 我使用 YA
  • SQL Server中的列级与表级约束?

    A 列级 GO CREATE TABLE Products ProductID INT CONSTRAINT pk products pid PRIMARY KEY ProductName VARCHAR 25 GO b 表层 CREATE
  • MS Access - 粘贴确认事件后

    当用户将记录直接粘贴到数据表子报表中时 是否可以在显示粘贴确认消息后捕获事件 我需要它能够在审计表中创建新记录时进行记录 通过捕获更新前 更新后和插入事件 我可以轻松创建已添加的记录集合 准备将详细信息插入审核日志 但是在所有这些事件触发后
  • 如何从 MySQL 中的布尔类型返回不同的字符串?

    如果我在 MySql 中将一列设置为布尔值 则查询将返回以下值 0 or 1 是否可以做这样的事情 SELECT bool value AS yes OR no 我的意思是 根据真假返回两个不同的字符串 SELECT CASE WHEN b
  • 手动更改postgresql中查询的执行计划?

    是否可以在postgresql中手动更改执行计划的操作顺序 例如 如果我总是想在过滤之前进行排序操作 尽管这在 postgresql 的正常使用中没有意义 是否可以通过例如手动强制执行该操作改变运营的内部成本 如果我实现自己的功能呢 是否可
  • 使用转义换行符和回车符取消转义字符串

    我正在尝试编写一个 PLPGSQL 函数来混淆 审查 编辑文本 Obfuscate a body of text by replacing lowercase letters and numbers with symbols CREATE
  • 如何检查oracle数据库中分配给模式、角色的对象的权限(DDL、DML、DCL)?

    大多数时候 我们都在与愚蠢的事情作斗争 以获取架构 角色及其对象的权限详细信息 并尝试找到一些简单的方法来获取有关它的所有详细信息以及伪查询代码 以批量生成授予语句以供进一步使用执行 所以我们在这里得到它 关于数据字典视图前缀的一些简单介绍
  • SQL 选择 n 到 m 关系

    我有一个n to m之间的关系Author and Book 表作者 ID Name 1 Follett 2 Rowling 3 Martin 桌书 ID Title Category 1 A Dance with Dragons Fant
  • nvarchar 值“3001822585”的转换溢出了 int 列

    我使用以下方法将 Excel 文件导入到 SQL Server Excel 文件将所有值作为字符串 我可以导入文件 除了Barcode SalePrice and Price2 我收到错误 nvarchar 值 3001822585 条形码
  • 合并sql中的列

    我正在使用 SQL Server 2017 有一个存储过程 其中我有一个带有连接的简单选择 例如 SELECT p legacyKey AS JobNumber p Name AS JobName G Label AS DesignStat
  • Oracle 按月滚动或运行总计

    目标 每个月末所有报表的滚动 运行总计 Code select TRUNC ACTHX STMT HX STMT DATE MM AS MNTH COUNT ACTHX INVOICE as STMTS from ACTHX group b
  • 如何使用 C# 查询远程 MS ACCESS .mdb 数据库

    我正在尝试使用 C 查询 mote MS ACCESS 数据库 mdb 文件 将文件复制到本地计算机时可以成功查询它 我只想远程放置文件 所以我的客户端程序不包含原始数据 static string m path http www xyz
  • ORA-00933 与内部联接和“as”混淆

    我有一个使用以下命令从两个表中获取数据的查询inner join 但我收到错误SQL command not properly ended as 下面有一个星号 select P carrier id O order id O aircra
  • 私人聊天系统MYSQL查询显示发送者/接收者的最后一条消息

    在这里我延伸一下我之前的问题 私人聊天系统MYSQL查询ORDERBY和GROUPBY https stackoverflow com questions 10929366 private chat system mysql query o
  • 我应该使用平面表还是标准化数据库?

    我目前正在开发一个使用 MySQL 数据库作为后端的 Web 应用程序 在继续下一步之前 我需要知道什么更适合我的情况 简而言之 在这个应用程序中 用户将能够使用任何数字字段 他们决定 构建自己的表单 现在我将其全部存储在通过外键链接的几个
  • 如何进行数据透视并计算列平均值

    我承认这是迄今为止我必须面对的最复杂的 SQL 语句之一 我在这件事上碰壁了 我希望有人能帮我一把 我在数据库中有这张表 Item ActiveTime sec DateTime 1 10 2013 06 03 17 34 22 gt Mo
  • ASP SQL Server 连接

随机推荐

  • Python 3 中 getstatusoutput 的替换

    由于命令模块自 Python 2 6 起已被弃用 我正在寻找替换的最佳方法命令 getstatusoutput http docs python org library commands html highlight commands co
  • Java Stream 在单循环中以声明方式分别按多个字段进行分组

    我用谷歌搜索了它 但我主要发现了按聚合字段分组或改变流响应的情况 但没有找到下面的情况 我有课User有字段category and marketingChannel 我必须以声明式风格编写一个方法 该方法接受用户列表并根据category
  • 删除列表中间的项目时,React 渲染错误的数据

    我有一个嵌套字段数组设置使用react hook form here https codesandbox io s compassionate galileo nkz71 请注意 我的实际代码有点复杂 但问题在这里显示是一样的 我遇到的问题
  • 在 Node.js 中反序列化后重新将对象与其类关联

    我正在为一些特定于应用程序的对象编写一个简单的序列化 反序列化框架 考虑以下 use strict function Dog name this name name Dog prototype constructor Dog Dog pro
  • 为什么用 MSVC 构建的 Python DLL 不能用 mod_wsgi 加载?

    我最近从 Python 2 5 更新到 2 7 在麻烦期间尝试了 2 6 虽然从命令行或 Django runserver 中一切正常 但 mod wsgi 无法加载任何包含使用 MSVC 构建的 DLL pyd 的模块 例如 如果我构建自
  • 删除指定目录中所有大小为零的文件[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 提前致谢 我想删除指定目录中的所有零大小文件 你能告诉我如何在 Ubuntu 操作系统上执行此操作的命令吗 谢谢 穆克蒂亚尔 find size 0c
  • for循环中断内的Javascript切换;冲突

    我在 JavaScript 中使用循环嵌套了 switch 如下所示 for var i 0 i lt checkBoxIds length i if checkBoxIds i prop checked var id checkBoxId
  • 使用knitr和latex在Beamer中代码块字体大小

    我正在尝试获取一些 R 代码以适合我的投影仪幻灯片 似乎无法通过更改字体大小size代码块的参数 就像您对其他knitr类型文档所做的那样 唯一的方法似乎是与 footnotesize在每个代码块之前 这让人沮丧 因为我有很多代码块 在很多
  • 请求的资源 () 不可用。 (下载 JSF 2.0 项目后运行 Tomcat 7.0 时)

    我在 eclipse 3 6 中创建了一个新的动态 Web 项目 我添加了 Tomcat 7 0 服务器并在 jsf 文件上选择 在服务器上运行 工作正常 我将其添加到 SVN 存储库以与其他人共享 我关闭 Eclipse 我创建了一个新的
  • 如何使用 blas 以最佳方式转置矩阵?

    我正在做一些计算 并对不同 BLAS 实现的优势和弱点进行一些分析 但是我遇到了一个问题 我正在测试 cuBlas 在 GPU 上执行 linAlg 似乎是一个好主意 但有一个问题 cuBlas 实现使用列主格式 并且由于这不是我最终需要的
  • 推入数组后变量值发生变化[重复]

    这个问题在这里已经有答案了 所以我正在测试这段代码 我在网络控制台中得到以下输出 value 0 Array Object value 1 Array Object Object 数组中的所有对象都具有完全相同的值 name value 1
  • UdpClient 在广播地址上接收

    在 c 中 我使用 UdpClient Receive 函数 public void StartUdpListener Object state try udpServer new UdpClient new IPEndPoint IPAd
  • 在启动时运行 R 脚本

    首先 这可能需要移至超级用户 我无法决定哪个场地更好 我正在尝试编写一个将在启动 重新启动时运行的 R 脚本 并将该计算机添加到池中doRedis http cran r project org web packages doRedis i
  • 角度指令 - 文件读取器在文件加载时未触发

    我正在尝试读取 angularjs 中上传的图像文件的数据 但正如预期的那样 文件读取器onload功能不起作用 任何人都可以帮助我解决此问题并读取图像文件以获取其数据 这是我的代码 app directive uploadImageFil
  • boost::计算流压缩

    如何使用 boost compute 进行流压缩 例如 如果您只想对数组中的某些元素执行繁重的操作 首先 生成掩码数组 其中包含与要执行操作的元素相对应的元素 mask 0 0 0 1 1 0 1 0 1 然后对掩码数组进行排它扫描 前缀和
  • Unity 从脚本创建 UI 控件

    我通过代码创建了一个切换 但它不会显示 此外 我无法更改文本字段的位置 我尝试了很多 但没有任何效果 这是我当前的版本 也许你看到了错误 我是 Unity 的新手 这非常困难 public class Game MonoBehaviour
  • Posix 线程问题

    我试图通过示例来理解 pthreads 我编写了以下代码 每次运行时都会给出不同的答案 有人可以解释一下这个错误吗 TIA 斯维亚 代码在这里 include
  • 如何从现有的 Azure 服务主体获取客户端密钥

    我已经创建了启用 RBAC 的服务主体 https learn microsoft com en us cli azure ad sp view azure cli latest在 Azure 中使用环境变量在我的操作系统中配置 Key V
  • 当我单击可扩展子元素时,如何获取 EditBox 和 RadioButton 的每个值?

    我有一个可扩展的 ListView 其中每个父视图都有一个子视图 在子视图中 我有一个子子元素 EditText TextView 和 RadioButton 子元素在单选按钮上单击时具有不同的值 并且在输入后编辑文本值 类别活动 java
  • ACCESS/SQL:如何同时插入/更新?

    这是我的情况 首先 我不是在关系数据库上工作 我只是使用访问作为操作数据的简单方法 目前 我有很多桌子 一个主表 我们称之为 MAIN 还有大约 10 个其他表 我们可以称之为 X1 X2 X3 等 X1 表包含具有 X1 属性的项目 X2