在尝试弄清楚如何编写SQL行以从项目中获取值时遇到一些问题。让我解释一下情况。我们有2个不同的数据库,一个用于国内,一个用于导入。它们只是不同的产品代码。不同之处仅在于国际物品最后有-h。那样的例子..
12345 < domestic
12345-h < import
我们有一个将两者结合在一起的Feed,但是导入项目缺少upc代码,而国内项目则包含它们。所以我想要的是让它匹配两个产品代码并将upc添加到-h项目。
有什么想法吗?
答案 0 :(得分:0)
您可以使用
加入这两个表 INNER JOIN ON (concat(domestic.itemid, '-h') = international.itemid)
您可能必须为Ms Access SQL方言调整此值。我认为对于concat你可以使用&amp;,IIRC。
答案 1 :(得分:0)
我想你想要一个像这样的结构:
select <fields that you want>
from ((select <list of fields from domestic>, itemid as lookupitem
from domestic d
) union all
(select <list of most fields from import>, replace(itemid, '-h', '') as lookupitem
from import i
)
) f left join
lookup lu
on f.lookupitemid = lu.itemid
换句话说,您可以在子查询中创建正确形式的字段,然后将其连接到用于获取UPC的查找表。我使用“替换”,假设某些代码实际上可能不以“-h”结尾。