我有一个名为TICKET_LAB的表 我有一个名为TICKET_LAB的表 如图所示 如图所示 TICKET_LAB table
和表名为test 和表名为test 如图所示 如图所示 Test table:
我需要一个SQL查询来获得结果:
我需要一个SQL查询来获得结果:
TLAB_TICKETID | TEST_NAME
------------- | -------------
29 | blood, stool,...etc
任何想法
答案 0 :(得分:1)
SELECT tckt.TLAB_TICKETID, STUFF(
(SELECT ',' + TEST_NAME
FROM [hos].[dbo].[test]
WHERE tckt.TLAB_TESTID = Test_ID
FOR XML PATH (''))
, 1, 1, '')
FROM [hos].[dbo].[test] tst
JOIN [hos].[dbo].[Ticket_Lab] tckt
on tst.Test_ID = tckt.TLAB_TESTID
GROUP BY tckt.TLAB_TICKETID
我认为这应该有效。
答案 1 :(得分:1)
在SQL Server中,它可能如下所示:
CREATE TABLE #TICKET_LAB(Id int)
INSERT INTO #TICKET_LAB VALUES(1), (2)
CREATE TABLE #TEST(TicketId int, Name nvarchar(100))
INSERT INTO #TEST VALUES(1, 'blood'), (1, 'etc.'), (2, 'test')
SELECT Id, STUFF((
SELECT ', ' + t.Name FROM #TEST t WHERE tl.Id = t.TicketId FOR XML PATH('')), 1, 2, ''
)
FROM #TICKET_LAB tl