Я пытаюсь написать запрос для последующего. Предположим, что таблица A и таблица B имеют следующие столбцы, как определено.Как вернуть соответствующее значение столбца в инструкции CASE в SQL Server
Таблица A (a, b, c, d, e, f, g, h) Таблица B (a, b, c, d, e, f, g, h, i, j, k) - Это имеет подмножество строк таблицы A.
declare @tableA table (a int, b int, c int, d int, e int, f int, g int, h int)
insert into @tableA values
(1,2,3,4,5,5,7,8),
(1,2,3,4,5,6,7,8),
(2,3,4,5,6,7,8,9),
(2,3,4,5,6,7,8,8),
(2,4,5,6,7,8,8,9),
(3,4,5,6,7,8,9,9)
declare @tableB table (a int, b int, c int, d int, e int, f int, g int, h int, i int, j int k int)
insert into @tableB values
(1,2,3,4,5,6,7,8,9,9,0),
(2,3,4,5,6,7,8,8,1,9,0),
(2,4,5,6,7,8,8,9,5,8,9),
(3,4,5,6,7,8,9,9,7,8,9)
Обратите внимание, что обе таблицы имеют одинаковые столбцы и имеют дублированные строки. Теперь я хочу запрос, который возвращает все строки в таблице A с дополнительным столбцом (скажем, «iI»), который был бы NULL, если эта строка не присутствует в таблице B else, она возвращает соответствующее значение столбца «i», соответствующее строке в таблица Б. Тогда запрос должен вернуть результат в следующем:
(1,2,3,4,5,5,7,8,NULL)
(1,2,3,4,5,6,7,8,9)
(2,3,4,5,6,7,8,9,NULL)
(2,3,4,5,6,7,8,8,1)
(2,4,5,6,7,8,8,9,5)
(3,4,5,6,7,8,9,9,7)
Можете ли вы помочь мне написать запрос. Я попытался соединить эти таблицы и использовал случай заявление, но он бросает мне ошибку, которая говорит сазе не может возвращать несколько значений
'from TableA ПОЛНАЯ ВНУТРЕННЯЯ ПРИСОЕДИНЯЮЩАЯСЯ В таблице B b на a.a = b.a и a.b = b.b и a.c = b.c ... etc'? Трудно сказать, так как ваши результаты не отражают ваши наборы данных от того, что я могу получить. – scsimon
«Обратите внимание, что обе таблицы имеют одинаковые столбцы [...]», нет, они этого не делают! «... и имеет дублированные строки ...» нет, они этого не делают! –