0

在试图弄清楚如何编写 SQL 行以从项目中获取值时遇到一些问题。让我解释一下情况。我们有两个不同的数据库,一个是国内的,一个是进口的。它们是相同的项目,只是产品代码不同。不同之处只是国际项目最后有一个-h。所以例子..

12345   < domestic 
12345-h < import

我们有一个将两者结合在一起的提要,但进口商品缺少 upc 代码,而国内商品有它们。所以我想做的是让它匹配两个产品代码并将 upc 添加到 -h 项目。

有任何想法吗?

4

2 回答 2

0

您可以将两个表与

 INNER JOIN ON (concat(domestic.itemid, '-h') = international.itemid)

您可能需要针对 Ms Access SQL 方言进行调整。我认为对于 concat,您可以使用 &,IIRC。

于 2013-03-29T20:21:17.227 回答
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

In other words, you can create the field of the right form in a subquery and then join it to the lookup table used to get UPC. I use "replace", on the assumption that some codes may not actually end with the "-h".

于 2013-03-29T20:54:37.590 回答