2016-11-05 7 views
1

Каков наилучший способ достижения приведенного ниже сценария;Извлечение данных из таблицы SQL

Мы извлекаем данные из десяти разных файлов от десяти разных клиентов. мы извлекаем и загружаем данные в базу данных. данные имеют код и описание формы. , например.

Code Description 
    1  Cigrette 
    2  Gift 
    3  Bear 

Я хочу, чтобы извлечь только подарочные предметы, но проблема Описание для подарка может быть различным для разных клиентов, как подарок, GiftCard или GF и т.д. и код также может быть различными.

Одним из способов решения проблемы является сохранение таблицы перевода для каждого клиента, но я хочу избежать этого, поскольку я не хочу вводить код для каждого нового клиента.

SOUNDEX() в SQL, похоже, была хорошей идеей, но, похоже, также не работает отлично.

Как я могу извлечь все предметы подарка для всех клиентов без сохранения таблицы переводов. пожалуйста, порекомендуйте.

Спасибо.

+2

Но как именно вы рисуете линию, которая отделяет то, что считать подарком, а что нет? SQL не поддерживает чтение ума. Вы можете попробовать что-то вроде 'Описание LIKE 'G% F%'', хотя это может привести к ложным срабатываниям. – Andrew

ответ

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 

Да, вы должны ввести все возможные варианты независимо от ваших клиентов использовать. Но это может быть непрерывный процесс. Вы можете предварительно обработать файл для поиска неизвестных описаний и добавить их соответствующим образом.

Смежные вопросы