Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Лукьчнчук Анатолий Member Откуда: Москва Сообщений: 68 |
Таблицу вида
Нужно получить в виде
Запрос для наполнения первой таблицы: USE tempdb IF EXISTS(SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'#Test1')) BEGIN DROP TABLE #Test1 END CREATE TABLE #Test1( Name NVARCHAR(20), LastName NVARCHAR(40), Birth DATETIME ) INSERT INTO #Test1 SELECT 'Вася', 'Петров', CONVERT(DATETIME, '2000-01-01 00:00:00.000') UNION ALL SELECT 'Петя', 'Иванов', CONVERT(DATETIME, '2000-02-02 00:00:00.000') UNION ALL SELECT 'Петя', 'Васильев', CONVERT(DATETIME, '2000-02-02 00:00:00.000') UNION ALL SELECT 'Коля', 'Сидоров', CONVERT(DATETIME, '2000-04-04 00:00:00.000') UNION ALL SELECT 'Коля', 'Гейтс', CONVERT(DATETIME, '2000-01-04 00:00:00.000'); SELECT * FROM #Test1; Вопрос: Как получить так отформатированную таблицу с минимальными усилиями? |
|||||||||||||||||||||||||||||||||||||||||||||||
25 окт 12, 16:18 [13375451] Ответить | Цитировать Сообщить модератору |
Лукьчнчук Анатолий Member Откуда: Москва Сообщений: 68 |
select @@version Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) Sep 21 2011 22:45:45 Copyright (c) 1988-2008 Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (VM) |
25 окт 12, 16:23 [13375509] Ответить | Цитировать Сообщить модератору |
nezhadnye_my
Guest |
в качестве извратаwith cte1 as( SELECT '' as Name1, Name, LastName, convert(char(23), Birth, 121 ) as Birth, rank() over (order by Name) as r FROM #Test1), cte2 as ( select distinct Name as Name1, '' as Name, '' as LastName, '' as Birth, rank() over (order by Name) as r from #Test1), cte3 as( select * from cte1 union all select * from cte2) select Name1, LastName, Birth from cte3 order by r, Name |
25 окт 12, 16:55 [13375797] Ответить | Цитировать Сообщить модератору |
Лукьчнчук Анатолий Member Откуда: Москва Сообщений: 68 |
Спасибо. Помогло. |
26 окт 12, 11:07 [13378864] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |