我可能只是累了,但我似乎无法弄清楚发生了什么。我有两个问题。查询1有10个字段。查询2有5个字段。两个查询中的字段1到3都相同。我正在尝试编写一个select查询并简单地将Query2中的字段5添加到Query1中,因此我的结果应该是带有附加字段的Query1(Query2.field5)。
我从两个查询中加入前3个字段,然后选择query1中的所有记录,只选择query2中匹配的记录。我不知道sql,所以我使用查询设计器。我希望从查询1获得相同数量的记录,但我有3次或更多次。有人能告诉我我做错了什么。我甚至试图扭转连接,但似乎仍然得到相同的额外记录。
提前致谢。
以下是查询:
共同的字段是DivisionName
,SupplierID = VendorID
和CommodityName
。
SELECT [Part Revenue Exposed Query P1].DivisionName,
[Part Revenue Exposed Query P1].CommodityName,
[Part Revenue Exposed Query P1].SupplierName,
[Part Revenue Exposed Query P1].PartNumber,
[Part Revenue Exposed Query P1].PartDescription,
[Part Revenue Exposed Query P1].BUCode,
[Part Revenue Exposed Query P1].ProductLine,
[Vendor Risk Score Query].VendorScore
FROM [Part Revenue Exposed Query P1] LEFT JOIN [Vendor Risk Score Query]
ON ([Part Revenue Exposed Query P1].DivisionName = [Vendor Risk Score Query].DivisionName)
AND ([Part Revenue Exposed Query P1].SupplierID = [Vendor Risk Score Query].VendorID)
AND ([Part Revenue Exposed Query P1].CommodityName = [Vendor Risk Score Query].CommodityName);
答案 0 :(得分:0)
检查您的加入条件。
AND ([Part Revenue Exposed Query P1].SupplierID = [Vendor Risk Score Query].VendorID)
供应商供应商是否正确?
你说前三个字段是相同的。但它只显示两个相同。
答案 1 :(得分:0)
这很可能是因为[供应商风险评分查询]中有多个记录与[部分收入暴露查询P1]中的条件相匹配。即,如果对应于[部分收入暴露查询P1]的一个记录,其值为:
DivisionName ='TestDiv',SupplierID = 1,CommodityName ='TestCommodity'
[供应商风险评分查询]中可以有多个记录值
DivisionName ='TestDiv',SupplierID = 1,CommodityName ='TestCommodity'
然后它将返回比[Part Revenue Exposed Query P1]
中的记录数更多的记录