Как уже упоминали forpas и Russell, начиная с SQL 2017 вы можете использовать функцию STRING_AGG.
Для SQL 2008+ Обратитесь к этому:
Как работают вещи и «Для пути XML» в Sql Server
В вашем случае вы хотите, чтобы разделитель был быть "& amp;" что вызовет проблему с FOR XML PATH из-за специального символа XML. Итак, вы захотите экранировать специальные символы XML, например:
DECLARE @TableA TABLE (Col1 NVARCHAR(10), Col2 INT, Col3 NVARCHAR(10), Col4
NVARCHAR(10), Col5 INT)
INSERT INTO @TableA (Col1, Col2, Col3, Col4, Col5)
VALUES ('Dave' , 24 , 'house' , 'married' , 2)
, ('Dave' , 24 , 'car' , 'married' , 2)
, ('Bob' , 32 , 'House' , 'single' , 1)
, ('George' , 12 , 'house' , 'divorced' , 1)
SELECT
t2.Col1
, t2.Col2
, STUFF ( ( SELECT '&' + Col3 -- Adding '&' as delimited
FROM @TableA t1
WHERE t1.Col2 = t2.Col2
FOR XML PATH (''), TYPE
).value('.', 'VARCHAR(MAX)'),1,1,''-- To escape special characters
) AS Col3
, t2.Col4
FROM @TableA AS t2
GROUP BY t2.Col1
, t2.Col2
, t2.Col4
Если Вы просто привлечете управление и не разместите детей, то произойдете из Управления - то VS сделает Вас подходящим классом (это называет это 'Пользовательским элементом управления') с обработчиком OnDraw, уже заблокированным в.
Если Вы размещаете другие средства управления в рамках своего управления, то происходите из UserControl, (VS называет это 'Пользовательским элементом управления', и Вы получите поддержку разработчика VS, таким образом, можно будет перетащить вокруг других средств управления на вершине.
Для простого построения диаграммы непрокрутки я произошел бы из Управления.
Сделайте свой GDI + тянущий на внеэкранной растровой поверхности и затем блитируйте его к любому управлению, в котором Вы нуждаетесь.
Ваш метод Краски средств управления только должен скопировать поверхность в себя.