gpt4 book ai didi

mysql - MS-ACCESS 如何创建查询以选择所有包含与另一个查询匹配的字段的记录?

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:25 25 4
gpt4 key购买 nike

我知道这个问题听起来很困惑,但让我试着简化一下。

我有一个查询,我们称之为 query1,还有一个包含所有产品的更大的表。这是查询 1:

Item_Code    Description    Order_Qty    Option
1000 Prod1 5 Blue
1005 Prod5 3 Brown
1602 Prod6 1 Red
5620 Prod8 6 Yellow
9865 Prod2 1 Brown
1624 Prod3 3 Brown
9876 Prod12 4 Blue

现在在我的表格中,我有一个更大的相同格式的产品列表。我想创建一个包含所有蓝色、棕色、红色和黄色的新查询。它有效,但总是有重复项。

我不确定如何发布我的尝试,但我会解释我的尝试。我创建了一个新查询并包含了表和 query1。我在两者之间建立了关系,只包括“选项”相等的行。但由于某种原因,生成的查询将重复出现。如:

Item_Code    Description    Order_Qty    Option
1000 Prod1 5 Blue
1009 <-- Prod2 6 Blue
1009 <-- Prod2 6 Blue
1010 <-- Prod9 7 Blue
1010 <-- Prod9 7 Blue
1011 <-- Prod11 9 Blue
1011 <-- Prod11 9 Blue
9876 <-- Prod12 4 Blue
9876 <-- Prod12 4 Blue
1005 <-- Prod5 3 Brown
1005 <-- Prod5 3 Brown
9865 <-- Prod2 1 Brown
9865 <-- Prod2 1 Brown
1624 <-- Prod3 3 Brown
1624 <-- Prod3 3 Brown
9877 Prod99 7 Brown
1111 <-- Prod67 8 Brown
1111 <-- Prod67 8 Brown
1602 Prod6 1 Red
1752 Prod56 2 Red
5620 Prod8 6 Yellow

最糟糕的是,它不会总是重复。也许我做错了。

我知道这可能是 tldr 的情况,但如果有人能提供帮助那就太好了。

谢谢。

最佳答案

听起来您需要在查询中添加 GROUP BY 子句或 DISTINCT 关键字。

SELECT DISTINCT Item_Code, Description, Order_Qty, Option

(或单击 Access 中的任何选项执行相同的操作。)

根据您提供的信息,无法诊断查询返回“重复”行的原因。

all_products 中的一行与 query1 中的两行或更多行匹配时,查询将返回“重复”行,因此您可以从 中获取该行的副本>all_products 来自 query1 的每个匹配行。


如果您从查询 1 中获得一个不同的 Option 列表,您可能会获得更好的性能。 (我并不是真的“做”MS Access。我提出这个问题是因为它被标记为“mysql”。Jet 数据库引擎很酷,但它在多用户环境中不能很好地工作。)在 SQL 中服务器、Oracle、MySQL、DB2、Teradata 等。我们会这样写查询:

SELECT p.Item_Code
, p.Description
, p.Order_Qty
, p.Option
FROM mytable p
JOIN ( SELECT q1.Option
FROM query1 q1
GROUP BY q1.Option
) q
ON q.Option = p.Option

关于mysql - MS-ACCESS 如何创建查询以选择所有包含与另一个查询匹配的字段的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18219876/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com