SQL Server Можете ли вы использовать «как» в соединении? - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть процесс, в котором я получаю данные из одного ресурса (источника) и выводлю их в более чистый выходной файл (место назначения).Я использую таблицу перевода или сопоставления (map) для классификации данных из источника, прежде чем они будут помещены в место назначения.Так что это примерно так в потоке процесса:

Источник -> Карта -> Назначение.

Моя проблема в том, что в исходном файле есть поле, которое иногда содержит множество значений, разделенных точкой с запятой.Например, поле (называемое Type) может содержать значения Lemon; Orange; Grape.

В моей таблице карт есть только определенные значения, которые я хочу отобразить между источником и местом назначения.В приведенном выше примере я хотел бы только сопоставить значения Lemon и Orange с назначением.В моей таблице Map у меня есть это:

| Source  | Destination |
-------------------------
| Lemon   | Citrus      |
| Orange  | Citrus      |

Эти значения разделены на карте, потому что в исходной таблице поле Type может содержать только «Lemon», «Orange», «Grape» или несколькозначения, подобные упомянутым выше («Лимон; Апельсин; Виноград»).

Можно ли извлечь из источника только значения Lemon и Orange, если в поле Type имеется несколько значений, через соединение или каким-либо другим способом?Я не хочу вставлять каждую комбинацию из поля «Тип» из моей таблицы «Источник» в таблицу «Карта», и порядок значений «Тип» последовательно изменяется.

Моя цель - получить каждое значение изВведите 'field', чтобы отобразить источник и соответствующее поле в месте назначения, даже если существует несколько типов.

...