Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Объединение несвязанных запросов  [new]
vectormen
Member

Откуда:
Сообщений: 5
Здравствуйте, у меня задача объединить в одну таблиц несвязанные между собой запросы.
Попробую объяснить на примере.
запрос 1.

SELECT t1.Inspector, t1.time, t1.Name
FROM Srv_ Header t1
where t1.Inspector='RE040'

inspector t1 time t1 name t1
RE040 12:00 Иванов Иван Иванович
RE040 15:00 Петров Петр Петрович
RE040 18:00 Сидоров Андрей Николаевич

Запрос 2.
SELECT t2.Inspector, t2.time, t2.Name
FROM Srv_ Header t2
where t2.Inspector='RE039'

inspector t2 time t2 name t2
RE039 11:00 Федоров Юрий Иванович


Запросы надо объединить так чтобы получилась таблица следующего вида:

inspector t1 time t1 name t1 inspector t2 time t2 name t2
RE040 12:00 Иванов Иван Иванович RE039 11:00 Федоров Юрий Иванович
RE040 15:00 Петров Петр Петрович
RE040 18:00 Сидоров Андрей Николаевич


Связи между запросами и таблицами ни какой нет, надо просто получить два разных списка в одной таблице, это
нужно для создания хранимой процедуры которая будет подключаться к компоненту GRIDVIEW . ASP.NET
и выводить данные на общий монитор, где клиенты компании будут видеть свою запись на прием. Пробовал использовать UNION
но данные выводятся в один список, а это не подходит. Использование JOIN тоже не дало нужного результата. Если такое возможно сделать подскажите пожалуйста как. Надеюсь на вашу помощь.
1 апр 13, 12:50    [14121079]     Ответить | Цитировать Сообщить модератору
 Re: Объединение несвязанных запросов  [new]
Гость333
Member

Откуда:
Сообщений: 3683
WITH cte1 AS
( SELECT t1.Inspector, t1.time, t1.Name,
         ROW_NUMBER() OVER(ORDER BY t1.time) AS row
  FROM Srv_Header t1
  where t1.Inspector='RE040'),
cte2 AS 
( SELECT t2.Inspector, t2.time, t2.Name,
         ROW_NUMBER() OVER(ORDER BY t2.time) AS row
  FROM Srv_Header t2
  where t2.Inspector='RE039')
SELECT c1.Inspector, c1.time, c1.Name,
       c2.Inspector, c2.time, c2.Name
FROM cte1 c1 FULL OUTER JOIN cte2 c2 ON c2.row = c1.row
ORDER BY ISNULL(c1.time, c2.time);
1 апр 13, 12:58    [14121139]     Ответить | Цитировать Сообщить модератору
 Re: Объединение несвязанных запросов  [new]
vectormen
Member

Откуда:
Сообщений: 5
Круто! Спасибо, получилось!
1 апр 13, 13:27    [14121310]     Ответить | Цитировать Сообщить модератору
 Re: Объединение несвязанных запросов  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35368
Блог
vectormen,

имхо, подход неверный,
это нужно на клиенте делать, 2 GRIDVIEW или что-то подобное
1 апр 13, 13:31    [14121325]     Ответить | Цитировать Сообщить модератору
 Re: Объединение несвязанных запросов  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Гость333
ORDER BY ISNULL(c1.row, c2.row);

Вот так будет правильно. По времени это я неправильно отсортировал.
1 апр 13, 13:35    [14121337]     Ответить | Цитировать Сообщить модератору
 Re: Объединение несвязанных запросов  [new]
vectormen
Member

Откуда:
Сообщений: 5
Возможно неверный. Но когда много GRIDVIEW получается тоже не самым лучшим образом.
Выглядеть должно так Картинка с другого сайта.
1 апр 13, 13:51    [14121422]     Ответить | Цитировать Сообщить модератору
 Re: Объединение несвязанных запросов  [new]
vectormen
Member

Откуда:
Сообщений: 5
Возможно неверный. Но когда много GRIDVIEW получается тоже не самым лучшим образом.
Выглядеть должно так Картинка с другого сайта.
1 апр 13, 13:53    [14121432]     Ответить | Цитировать Сообщить модератору
 Re: Объединение несвязанных запросов  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
vectormen
Возможно неверный. Но когда много GRIDVIEW получается тоже не самым лучшим образом.
И при чем тут сервер до вашего GRIDVIEW?
1 апр 13, 14:04    [14121494]     Ответить | Цитировать Сообщить модератору
 Re: Объединение несвязанных запросов  [new]
vectormen
Member

Откуда:
Сообщений: 5
Критик предложил использовать несколько GRIDVIEW, это лучше чем использовать один GRIDVIEW c правильно настроенным запросом?
Я новичок в ASP.NET и c#, если Вы сможете предложить вариант лучше буду очень благодарен.
1 апр 13, 14:14    [14121551]     Ответить | Цитировать Сообщить модератору
 Re: Объединение несвязанных запросов  [new]
Glory
Member

Откуда:
Сообщений: 104751
vectormen
Я новичок в ASP.NET и c#, если Вы сможете предложить вариант лучше буду очень благодарен.

Для ASP.NET и c# есть свои форумы
1 апр 13, 15:31    [14122010]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить