访问SQL匹配到唯一值
我有两组来自两个不同来源的不同数据,我正试图将它们组合起来创建一个存储在“SD”表中的“选择列表”。数据的简单摘录如下所示 两者之间的共同关系是访问SQL匹配到唯一值,sql,ms-access,match,relationship,Sql,Ms Access,Match,Relationship,我有两组来自两个不同来源的不同数据,我正试图将它们组合起来创建一个存储在“SD”表中的“选择列表”。数据的简单摘录如下所示 两者之间的共同关系是SKUSKU为我们提供了所需的提货数量,可以不止一个
SKU
<SD
表中的code>SKU为我们提供了所需的提货数量,可以不止一个<表Stock'
中的code>SKU可以有多个相同的SKU
,但每个都有自己唯一的标签ID
SD表:
SKU Shoot Date
4PYCD 14/06/2015
4PYCE 14/06/2015
4PYCF 14/06/2015
4PYCF 14/06/2015
库存表:
SKU ID
4PYCD Z1234
4PYCD Z2345
4PYCE H8767
4PYCF H7890
4PYCF Z3456
4PYCF I8976
4PYCF P0989
4PYCF Z1236
例如,我们在拍摄时需要2个SKU
,5个可用“库存”。我需要一个查询,将库存
表中的前2个匹配标签ID作为与拣选列表
表中请求的SKU
的匹配
预期结果:
SKU Shoot Date ID
4PYCD 14/06/2015 Z1234
4PYCE 14/06/2015 H8767
4PYCF 14/06/2015 H7890
4PYCF 14/06/2015 Z3456
我已经尝试使用TOP
函数很长一段时间了,现在可以使用各种子查询,但是我可以得到任何东西来满足我的需要,有人能帮我吗
当前简单SQL设置(没有尝试使用TOP
):
亲切问候我想您正在寻找以下产品:
SELECT TOP 2 tblSD_F4.SKU, tblStock.[Label No]
FROM tblStock
INNER JOIN tblSD_F4
ON tblStock.SKU = tblSD_F4.SKU;
基本上,虽然这有点粗糙,但它应该从tblStock
表中提供两条随机匹配的记录。似乎您的主要问题是您正在进行右连接
,而不是内部连接
很抱歉,如果语法是关闭的,那么当涉及到查询设计时,Access真的会让我扫兴 我认为您正在寻找类似于:
SELECT TOP 2 tblSD_F4.SKU, tblStock.[Label No]
FROM tblStock
INNER JOIN tblSD_F4
ON tblStock.SKU = tblSD_F4.SKU;
基本上,虽然这有点粗糙,但它应该从tblStock
表中提供两条随机匹配的记录。似乎您的主要问题是您正在进行右连接
,而不是内部连接
很抱歉,如果语法是关闭的,那么当涉及到查询设计时,Access真的会让我扫兴 您提到了两个表,但我假设您的查询有三个表,因为
SD
是ScheduleDate
的缩写?。我还觉得可以在“选择列表”和“选择请求”表名之间进行交换。你能用你在整个问题中使用的统一命名来更新吗?当然,我做了这些。谢谢你是使用MySQL还是MS Access?在一个问题中同时包含两个标记是没有意义的,除非您正在执行某种多数据库应用程序。@Barmar我假设他只是将这些标记放在那里,因为他可能还不熟悉其中的差异。标签看起来有点像猎枪;-)我只是根据他查询中的语法假设,[]在那个里。@Newd我也这么认为。我试图提示他找出差异并解决问题。您提到了两个表,但我认为您的查询有三个表,因为SD
是ScheduleDate
的缩写?。我还觉得可以在“选择列表”和“选择请求”表名之间进行交换。你能用你在整个问题中使用的统一命名来更新吗?当然,我做了这些。谢谢你是使用MySQL还是MS Access?在一个问题中同时包含两个标记是没有意义的,除非您正在执行某种多数据库应用程序。@Barmar我假设他只是将这些标记放在那里,因为他可能还不熟悉其中的差异。标签看起来有点像猎枪;-)我只是根据他查询中的语法假设,[]在那个里。@Newd我也这么认为。我试图提示他找出差异并解决问题。您提到了两个表,但我认为您的查询有三个表,因为SD
是ScheduleDate
的缩写?。我还觉得可以在“选择列表”和“选择请求”表名之间进行交换。你能用你在整个问题中使用的统一命名来更新吗?当然,我做了这些。谢谢你是使用MySQL还是MS Access?在一个问题中同时包含两个标记是没有意义的,除非您正在执行某种多数据库应用程序。@Barmar我假设他只是将这些标记放在那里,因为他可能还不熟悉其中的差异。标签看起来有点像猎枪;-)我只是根据他查询中的语法假设,[]在那个里。@Newd我也这么认为。我想提醒他找出区别并解决问题。谢谢你回来找我。不幸的是,这不起作用,因为两个标签ID都是一样的。SD表上的项目也可能不在Stock表中,所以这就是为什么有一个正确的联接。我实际上需要的是,我已经尝试使用COUNT
来实现这一点,但无法完全解决SD表中“SKU”上每个组的COUNT
。然后使用该COUNT
作为每个“SKU”的TOP
变量。希望这有道理?!谢谢你回来找我。不幸的是,这不起作用,因为两个标签ID都是一样的。SD表上的项目也可能不在Stock表中,所以这就是为什么有一个正确的联接。我实际上需要的是,我已经尝试使用COUNT
来实现这一点,但无法完全解决SD表中“SKU”上每个组的COUNT
。然后使用该COUNT
作为每个“SKU”的TOP
变量。希望这有道理?!谢谢你回来找我。不幸的是,这不起作用,因为两个标签ID都是一样的。SD表上的项目也可能不在Stock表中,所以这就是为什么有一个正确的联接。我实际上需要的是,我已经尝试使用COUNT
来实现这一点,但无法完全解决SD表中“SKU”上每个组的COUNT
。然后使用该COUNT
作为每个“SKU”的TOP
变量。希望这有道理?!