これは私のクエリですが、うまくいきますが、null値の行が存在するときにstuff関数が自分の要件を満たしていません。それを行うための代替手段はありますか? :SQL ServerのSTUFF()関数は、空白行の列にある
SELECT
smsFDGPatientOrder.ID,
STUFF((SELECT ', ' + [smsFDGPatientOrderPhoneNumbers].Number
FROM [smsFDGPatientOrderPhoneNumbers]
WHERE [smsFDGPatientOrderPhoneNumbers].FDGPatientOrder = smsFDGPatientOrder.ID
ORDER BY Number
FOR XML PATH('')), 1, 1, '') [PatientPhno]
FROM smsFDGPatientOrder
GROUP BY smsFDGPatientOrder.ID
サンプルデータを(例えば、NULL値の電話番号は464-987-987、のように見えるため)そのため、あなたはデフォルトでNULL
値を置き換えるためにCOALESCE
を使用することができます
ID Name Number FDGPatientOrder Type Index
189950 Home 630-561-3777 170638 1 NULL
189951 Home 170638 1 NULL
「SELECT ... WHERE Number IS NOT NULL」は単にNULL数値を選択しません。あなたがしなければならないようなものです。 –
@TT yea right。ただし、Number <> LTRIM( '')の場合はそれになります。 –