Создание и заполнение таблиц РОС:Возврат первый идентификатор, соответствующий последовательности условий
CREATE TABLE #POCSTBL (SCode varchar(10))
INSERT INTO #POCSTBL (SCode)
SElECT 'LC13'
UNION ALL
SELECT 'LC22'
UNION ALL
SELECT 'LC31'
CREATE TABLE #POCLUTBL (ID int Identity (1,1), LC1 varchar(10), LC2 varchar(10), LC3 varchar(10))
INSERT INTO #POCLUTBL (LC1, LC2, LC3)
SELECT 'LC11',NULL,'LC13'
UNION ALL
SELECT 'LC21','LC13',NULL
UNION ALL
SELECT '-','LC31','LC33'
SELECT * FROM #POCSTBL
SELECT * FROM #POCLUTBL
Мой Initial Try:
SELECT S.SCode, LU.ID FROM #POCSTBL S LEFT JOIN #POCLUTBL LU
ON S.SCode = LU.LC1 OR S.SCode = LU.LC2 OR S.SCode = LU.LC3
падение #Tbls:
DROP TABLE #POCSTBL
DROP TABLE #POCLUTBL
Желаемая Выход:
SCode ID
LC13 2
LC22 NULL
LC33 3
Я хочу найти столбец SCode из #POCSTBL для # LC2, если он найден, возьмите этот идентификатор в качестве вывода, , если ID не найден, тогда LC1, если найден, примет этот ID как вывод, , если ID не найден, тогда LC3, если он найден, принять этот идентификатор в качестве выходного сигнала, , если ID не найден, то ID = NULL
Спасибо
#POCSTBL = POC Источник Таблица #POCLUTBLE = POC Таблица поиска SCODE = SourceCode LC (1/2/3) = Lookup Колонка (1/2/3) ... о том, что было мне кстати, кто придумал с этими именами. : P – 007
TIL: Мне нужно быть более простым и менее странным. Thx Aaron;) – 007