我尝试了所有可能的连接和子查询,但无法获取数据以仅返回表2中与供应商ID完全匹配的一个值。如果我没有包含在查询中的地址,我会得到一个供应商ID。我怎样才能做到这一点,以便当我添加地址时,我只需要我添加地址之前获得的一个供应商。只返回与表1上的ID相匹配的值
表1中的供应商必须是VEN-CLASS IS NOT NULL。
这是我最后一次尝试使用子查询:
SELECT DISTINCT APVENMAST.VENDOR_GROUP,
APVENMAST.VENDOR,
APVENMAST.VENDOR_VNAME,
APVENMAST.VENDOR_CONTCT,
APVENMAST.TAX_ID,
Subquery.ADDR1
FROM (TEST.dbo.APVENMAST APVENMAST
INNER JOIN
(SELECT APVENADDR.ADDR1,
APVENADDR.VENDOR_GROUP,
APVENADDR.VENDOR,
APVENMAST.VEN_CLASS
FROM TEST.dbo.APVENADDR APVENADDR
INNER JOIN TEST.dbo.APVENMAST APVENMAST
ON (APVENADDR.VENDOR_GROUP = APVENMAST.VENDOR_GROUP)
AND (APVENADDR.VENDOR = APVENMAST.VENDOR)
WHERE (APVENMAST.VEN_CLASS IS NOT NULL)) Subquery
ON (APVENMAST.VENDOR_GROUP = Subquery.VENDOR_GROUP)
AND (APVENMAST.VENDOR = Subquery.VENDOR))
INNER JOIN TEST.dbo.APVENLOC APVENLOC
ON (APVENMAST.VENDOR_GROUP = APVENLOC.VENDOR_GROUP)
AND (APVENMAST.VENDOR = APVENLOC.VENDOR)
WHERE (APVENMAST.VEN_CLASS IS NOT NULL)
看起来都在你的屏幕截图返回的值是不同的,相对于选中的列(即供应商ID似乎被关联到多个地址。)你怎么知道哪些地址是你想要的吗?使用返回的供应商地址是否有关系? – Daileyo 2015-01-09 23:46:36