0

我想加入具有多个值的列,并将它们作为逗号分隔的列表值加入到单个字段中。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

是否有另一种方法可以进行类似的加入?

亲切的问候,伊戈尔

4

0 回答 0