我想加入具有多个值的列,并将它们作为逗号分隔的列表值加入到单个字段中。SQL 查询有效,但我认为我遇到了性能问题。
加载我的 SQL 代码 30 分钟后,它会出现超时问题:DataSource.Error: Microsoft SQL: Execution Timeout Expired。在操作完成之前超时时间已过或服务器没有响应。
每当我选择前 1000 行时,它仍然会加载整整一分钟。
LEDGERTRANS.TXT 是一个字符串,并且周围有 MAX() ,它给了我一个超时。
MRPRJPROJTRANSPOSTING 有 2,5M 行 LEDGERTRANS +/- 5M 行,尽管我只加入我需要的内容。
以下代码是我使用的:
SELECT
MRPRJPROJTRANSPOSTING.VOUCHER,
[Factuuromschrijving(en)] = STUFF(
(SELECT ',' + LEDGERTRANS.TXT
FROM LEDGERTRANS
WHERE LEDGERTRANS.VOUCHER = MRPRJPROJTRANSPOSTING.VOUCHER
AND LEDGERTRANS.DATAAREAID = MRPRJPROJTRANSPOSTING.DATAAREAID FOR
XML PATH (''))
, 1, 1, '' )
FROM MRPRJPROJTRANSPOSTING
是否有另一种方法可以进行类似的加入?
亲切的问候,伊戈尔