2014-02-06 6 views
0

Вот простой запрос и ее результаты с помощью SQL Server:Возвращаясь несколько строк в одну строку

SELECT Notes 
FROM DailyTaskHours 
WHERE Notes IS NOT NULL 
    AND Notes <> '' 
    AND NonScrumStoryId = 2264 

enter image description here

Я хотел бы одну строку с один столбец вернулся. Как это сделать?

+0

, какие базы данных, пожалуйста? –

+0

Шаг 1 - укажите свой движок базы данных. –

+0

SQL Server, я обновил теги. –

ответ

1

Я изображающей вам нужно их всех, как одну ячейку, а не PIVOT их ,

Попробуйте

With 
MyTable as 
(
     Select 1 Id, 'Contacted the P6 Admin Reps to find out what to do.' Notes 
Union Select 2, 'Sent and email to request status.' 
Union Select 3, 'updated ticket and confirmed issue was resolved.' 
) 
Select 
    (
     SELECT SUB.Notes + ' ' 
     FROM MyTable SUB 
     FOR XML PATH('') 
    ) TextValue 

Вот ответ я получаю:

TextValue 
--------------------------------------------------------------------------------------------------------------------------------------- 
Contacted the P6 Admin Reps to find out what to do. Sent and email to request status. updated ticket and confirmed issue was resolved. 

(1 row(s) affected) 
1

Если это база данных SQL Server, я верю, что можно реализовать оператор PIVOT таким образом, как это:

select [1] as field1, 
    [2] as field2, 
    [3] as field3 
from 
(
    select col1, row_number() Over(order by col1) rn 
    from yourtable 
) src 
pivot 
(
    max(col1) 
    for rn in ([1], [2], [3]) 
) piv 
+0

Не могли бы вы обновить это в контексте вышеуказанного запроса. Это поможет мне понять, что вы имеете в виду. –

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