Sql MS访问验证-根据第1列中的不同值,第2列中的所有值应相同
我可以用一个例子更好地解释: 我需要验证一个表,“ProdID”列(比如713141535)的不同值是否在“AccountNo”列(比如2)中具有相同的值集,即带有“713141535”的ProdID具有相同的AccountNo,即“2”、“2”、“2”。(请参阅下面链接中的图片) 但是prodid'855325150'具有不同的AccountNo,即5,4,5。根据ProdID,所有帐号都不相同,因此验证失败 请您帮助我编写一个查询,以使用MS Access验证这种类型的场景 注意:每个版本都有新的表,所以我不知道表中的值,因为它每次都不同 谢谢 巴沙Sql MS访问验证-根据第1列中的不同值,第2列中的所有值应相同,sql,validation,ms-access,Sql,Validation,Ms Access,我可以用一个例子更好地解释: 我需要验证一个表,“ProdID”列(比如713141535)的不同值是否在“AccountNo”列(比如2)中具有相同的值集,即带有“713141535”的ProdID具有相同的AccountNo,即“2”、“2”、“2”。(请参阅下面链接中的图片) 但是prodid'855325150'具有不同的AccountNo,即5,4,5。根据ProdID,所有帐号都不相同,因此验证失败 请您帮助我编写一个查询,以使用MS Access验证这种类型的场景 注意:每个版本都
您可以使用
DISTINCT
查找ProdID
和AccountNo
之间的不匹配,并将该记录集用作子查询
SELECT Sub.ProdID, Count(Sub.ProdID) AS CountOfProdID
FROM (SELECT DISTINCT ProdID, AccountNo
FROM Prod
) AS Sub
GROUP BY Sub.ProdID
HAVING Count(Sub.ProdID) > 1
注意:我使用了Prod
作为我的表名Sub
是子查询的别名
SELECT Sub.ProdID, Count(Sub.ProdID) AS CountOfProdID
FROM (SELECT DISTINCT ProdID, AccountNo
FROM Prod
) AS Sub
GROUP BY Sub.ProdID
HAVING Count(Sub.ProdID) > 1
此查询将返回在
AccountNo
@Basha Great中存在不匹配的ProdID
!如果您觉得我已经充分回答了您的问题,请随意将我的帖子标记为“答案”,但单击我答案左侧上下箭头下方的灰色复选标记。这有助于其他可能需要相同解决方案的用户确定哪些有效,哪些无效。以下是网站指南: