取一个与某个参数匹配的值并将其复制到多行

Posted

技术标签:

【中文标题】取一个与某个参数匹配的值并将其复制到多行【英文标题】:Take one value that matches a certain parameter and copy it to multiple rows 【发布时间】:2018-05-30 17:33:46 【问题描述】:

所以我的挑战是获取表 1 中的筹码数量和筹码单位,并将其复制到表 2 中的 Cookie 和甜甜圈的现有数量和单位中。我在下面有一个开始,但我仍然缺少如何仅填充“筹码”数据。

UPDATE [Table 2].[On Hand Units]
SET [Table 2].[On Hand Units]="kg"
WHERE (([Table 1].[Units]) LIKE "*kg") AND (([Table 2].[Store ID]) NOT LIKE "234" OR "456");

UPDATE [Table 2].[On Hand Amount]
SET [Table 2].[On Hand Amount]=[Table 1].[Quantity]
WHERE (([Table 1].[Units]) LIKE "*kg") AND (([Table 2].[Store ID]) NOT LIKE "234" OR "456");

【问题讨论】:

理想情况下,应在需要时计算“现有”值,而不是保存。我很困惑 - 你说表 2 是“饼干和甜甜圈”但你想保存芯片数据。我不认为你的“或”标准会像你想的那样。您是否尝试过标准Table1.Name='Chips'?为什么看起来你只是在复制数据? 【参考方案1】:

尝试以下方法:

UPDATE B
SET B.[On Hand Amount] = A.Quantity, B.[On Hand Units] = A.Units
FROM [TABLE 1] A
JOIN [Table 2] B ON A.[Store ID] = B.[Store ID] AND A.Name = B.Name
WHERE B.[Store ID] NOT IN ('234', '456')

【讨论】:

SQL 语法在 MS Access 中不起作用,因为它在 UPDATEJOIN 之前不使用 FROM 子句@ 987654326@。访问方言在这方面遵循 mysql 我不知道 OP 是否升级了他的 Access 应用程序以使用 SQL Server 后端...不是每个人都这样做吗?无论如何,这很容易解决。总体思路仍然有效。有关语法,请参见此处的第二个答案:***.com/questions/12882212/… 除非提及或标记,否则我不会做出这种假设。 Access 应用程序可以连接到任何已知的后端(SQL Server、Oracle、Postgres),但这些链接表仍必须遵守其 JET/ACE SQL 方言,除非使用直通查询。尽管如此,您的答案可以很容易地针对 Access 进行调整。 也许这应该是一个追加查询?我想从表 1 中取出薯条的数量并将其复制到饼干和甜甜圈中。由于名称不同,因此 name=name 解决方案也不起作用。六月,是的,我正在为一个非常大的数据集复制数据。

以上是关于取一个与某个参数匹配的值并将其复制到多行的主要内容,如果未能解决你的问题,请参考以下文章

jQuery 取类名,并将其名称附加到特定的 css 规则? [复制]

如何从某个网页复制所有文本并将其保存到记事本C#

将对象作为参数传递给构造函数并将其属性复制到新对象?

将数据复制到同一张表和从同一表复制数据,并将复制数据的一列中的值更改为指定值

从数据条目(如工作表)复制值并将它们粘贴到单个工作表中,根据一个单元格中的某个值连续粘贴

iPhone:如何将 NSString 拆分为多行并将其设置为 UILabel? [复制]