powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL Join Allow NULLS
5 сообщений из 5, страница 1 из 1
SQL Join Allow NULLS
    #40093210
progproger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Здравствуйте,

Подскажите пожалуйста, как оптимально решить следующую задачу...

Есть много таблиц с разными столбцами, но 2 или 3 столбца совпадают. В данном случае Month, Year, Type.
У всех таблиц обязательные столбцы Year и Type...
Например:


Table1 - ColumnA, ColumnB, ColumnC, Month, Year, Type
Table2 - ColumnD, ColumnE, Month, Year, Type
Table3 - ColumnF, ColumnG, ColumnH, ColumnI, ColumnJ, Year, Type
Table4 - ColumnK, ColumnL, ColumnM, ColumnN, ColumnO, ColumnP, Month, Year, Type
Table5 - ColumnQ, ColumnR, ColumnS Year, Type


Учтите, что в каждом столбце Month, Year, Type или Year, Type уникальны...
Как можно будет написать запрос, который будет ВСЕГДА принимать все 3 параметра (Month, Year, Type) и возвращать в данном случае только один ряд (может быть и больше) из данных столбцов (только всех)?


Пример результата:

ColumnA ColumnB ColumnC Month  Year  Type  ColumnD ColumnE Month Year  Type ColumnF ColumnG ColumnH ColumnI ColumnJ Year   Type ColumnK ColumnL ColumnM ColumnN ColumnO ColumnP Month Year  Type ColumnQ ColumnR ColumnS Year Type
NULL      NULL   NULL   NULL   NULL  NULL  val1    val2      8  2021     1   NULL    NULL   NULL    NULL     NULL   NULL   NULL  NULL     NULL   NULL     NULL    NULL   NULL   NULL  NULL  NULL  val1    val2    NULL 2021 1

Смысл в том, что если даже хоть у одной таблицы присутствуют значения параметров Month, Year, Type или Year, Type  , то надо отобразить ВСЕ столбцы (включая NULL ряды с существующими) 
...
Рейтинг: 0 / 0
SQL Join Allow NULLS
    #40093219
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вы, друзья, как не садитесь все в программисты не годитесь...

Мой 40 летний опытЪ "программирования" пасует перед смыслом этого техзадания.
...
Рейтинг: 0 / 0
SQL Join Allow NULLS
    #40093221
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
-- так, что ли?
with t1 as ( select * from Table1  where Year = @Year and Type = @Type and Month = @Month )
    ,  t3 as  ( select * from Table3 where Year = @Year and Type = @Type )
select * from t1 full outer join t3 on t1.Year =t3.Year and t1.Type = t3.Type
...
Рейтинг: 0 / 0
SQL Join Allow NULLS
    #40093577
progproger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleks222,

Спасибо за ваш результат 40 летнего опыта "программирования". Причина была в том, что надо было написать функцию (table) из которой брались бы значения с группировкой для генерации конкретного репорта.
...
Рейтинг: 0 / 0
SQL Join Allow NULLS
    #40093602
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
progproger,

О какой причине Вы пишете?

авторКак можно будет написать запрос
Функция - это не запрос, однако.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL Join Allow NULLS
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]