2012-02-20 2 views
-1

Добрый день, ребята,Печать двух строк в одном столбце [Advanced SQL]

Я застрял здесь, и я отчаянно нужна помощь здесь ...

Видимо, я пытаюсь объединить две строки в одну колонку ,

Мой текущий SQL дан дизайн таблицы:

select * from timetable order by name, id 

, который дает мне это:

Here

Кто-нибудь знает, как проектировать мой запрос, так что я буду получать результат, как это:

Here

Fyi, я использую Microsoft SQL Server 2005.

Спасибо заранее, ребята! :)

Извините, что я не смог загрузить изображение здесь.

Извините ... Я разместил одно и то же изображение !! Извини !!

Я загрузил новый .. Пожалуйста, посмотрите ..

+1

Я не могу видеть ни одного изменения в изображения, которые вы выложили –

+0

Вы можете проверить ссылки? Я думаю, это один и тот же образ. –

+0

Ваши вопросы связывают два раза с тем же изображением. – Black

ответ

1
SELECT COALESCE(i.Name, o.Name) [Name], 
     i.Time [TimeIN], 
     MIN(o.Time) [TimeOUT] 
FROM ( SELECT * 
      FROM Timetable 
      WHERE Status = 'IN' 
     ) i 
     FULL OUTER JOIN 
     ( SELECT * 
      FROM Timetable 
      WHERE Status = 'OUT' 
     ) o 
      ON o.Name = i.Name 
      AND o.Time > i.Time 
GROUP BY COALESCE(i.Name, o.Name), i.Time 
ORDER BY Name, TimeIN 
+0

Большое спасибо GarethD. Позвольте мне попробовать завтра утром в офисе !!! Большое спасибо !! =) –

+0

Это работает !! GarethD -> Большое спасибо! –

+0

@KikiChandra - Если это помогло, отметьте это как ответ, чтобы удалить его из «Неотвеченных» вопросов. благодаря – GarethD

Смежные вопросы