从表SQL中提取数据

时间:2016-11-05 03:43:30

标签: sql sql-server vb.net

实现以下方案的最佳方法是什么?

我们从十个不同客户的十个不同文件中提取数据。我们将数据提取并加载到数据库中。数据是表单代码和描述。 例如

Code  Description
   1      Cigrette
   2      Gift
   3      Bear

我想只提取礼品,但问题是礼品的描述可能因礼品,GIFTCARD或GF等不同客户而有所不同,代码也可能不同。

解决问题的一种方法是为每个客户保留一个转换表,但我想避免这种情况,因为我不想为每个新客户输入代码。

SQL中的

SOUNDEX()似乎也是一个好主意,但似乎也没有完美运行。

如何在不保留转换表的情况下为所有客户提取所有礼品。请指教。

感谢。

1 个答案:

答案 0 :(得分:0)

我唯一能做到的就是这个,这是经过验证的设计和模式

-- Table: productType
id        int
desc      nvarchar

-- Table: productTypeExpanded
id         int
desc       nvarchar unique
prodTypeId int

-- Table: order
id         int
custId     int
desc       nvarchar -- I believe you're trying to identify product by this field

Select 
    p.desc,
    o.custId
From
    productType p inner join 
    productTypeExpanded e on p.id = e.prodTypeId inner join
    order o on o.desc = e.desc

是的,您必须输入客户使用的所有可能的变体。但它可以是持续的过程。您可以预处理文件以搜索未知描述并相应地添加它们。