Проблема присоединения к таблице / Выбрать оператор внутри Join - PullRequest
0 голосов
/ 28 марта 2019

В одной таблице есть столбец «item» с номерами SKU, включая тире (мы будем называть его DASHDB), в то время как в другой таблице есть столбец «item» с номерами SKU без тире (мы будем называть его NODASH_DB). Мне нужно объединить эти две таблицы.

Я знаю, что могу сделать что-то вроде этого:

FROM (SELECT REPLACE (ITEMDASH,'-','') AS ITEMNO FROM DASHDB) AS NEWITEMNO
LEFT JOIN NODASH_DB ON NEWITEMNO.ITEMNO = NODASH_DB.ITEMNO

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

Я пытался:

LEFT JOIN (SELECT REPLACE(ITEMDASH,'-','') AS ITEMNO FROM DASHDB) AS NEWDB ON NEWDB.ITEMNO = NODASH_DB.ITEMNO

Но он не принимает правильную базу данных. Использование Microsoft SQL Server Management Studio 17.

1 Ответ

1 голос
/ 28 марта 2019

Трудно сказать без образцов данных, но это должно работать:

LEFT JOIN DASHDB 
ON REPLACE(DASHDB.ITEMDASH,'-','') = NODASH_DB.ITEMNO

Например, см. http://sqlfiddle.com/#!18/36879/1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...