4

DB:SQLServer2008。

私はこのような本当に(偽の)グルーヴィーなクエリを持っています:-

SELECT CarId, NumberPlate
    (SELECT Owner
     FROM Owners b
     WHERE b.CarId = a.CarId) AS Owners
FROM Cars a
ORDER BY NumberPlate

そして、これは私が取得しようとしているものです...

=> 1    ABC123     John, Jill, Jane
=> 2    XYZ123     Fred
=> 3    SOHOT      Jon Skeet, ScottGu

だから、使ってみました

AS[Text()] ... FOR XML PATH('')ですが、これには奇妙なエンコード文字が含まれていました(例:キャリッジリターン)。...だから私はそれに100%満足していません。

また、COALESCEソリューションがあるかどうかを確認しようとしましたが、すべての試みが失敗しました。

だから-何か提案はありますか?

4

3 に答える 3

3

この質問の解決策を試してください。

サブクエリから単一の区切りフィールドに複数の行を「結合」するSQLServer関数を作成するにはどうすればよいですか?

:)

于 2009-06-19T07:35:58.963 に答える
-1

使用するGROUP_CONCAT

SELECT CarId, NumberPlate
    (SELECT GROUP_CONCAT(Owner)
     FROM Owners b
     WHERE b.CarId = a.CarId) AS Owners
    FROM Cars a
ORDER BY NumberPlate
于 2019-03-23T13:10:11.873 に答える