行を選択して値を単一の変数に連結する必要があるシナリオがあります。問題は、特定の列がnullの場合、その部分を除外する必要があることです。しかし、私のシナリオでは、空のスペースで使用したハイフンが表示され、誰かがこれを支援してくれます。
私はこれを試しました.....
SELECT @Location_Details = CONVERT(VARCHAR, ISNULL(O.CSS_No, ''))
+ '-' + CONVERT(VARCHAR, ISNULL(STREET.STREET_START_X, ''))
+ '-' + CONVERT(VARCHAR, ISNULL(STREET.STREET_START_Y, ''))
+ '-' + CONVERT(VARCHAR, ISNULL(STREETDES.STREET_DESCRIPTOR,
'')) + '-'
+ CONVERT(VARCHAR, ISNULL(STREETDES.LOCALITY_NAME, '')) + '-'
+ CONVERT(VARCHAR, ISNULL(STREETDES.TOWN_NAME, '')) + '-'
+ CONVERT(VARCHAR, ISNULL(HW.Description, '')) + '-'
+ CONVERT(VARCHAR, ISNULL(Add_stree.Additional_Street_Location_Text,
''))
FROM dbo.[order] O WITH ( NOLOCK )
LEFT JOIN dbo.Order_USRN_Header USRN WITH ( NOLOCK ) ON USRN.Order_No = O.Order_No
LEFT JOIN DatabaseName.dbo.STREET STREET WITH ( NOLOCK ) ON STREET.USRN_NO = USRN.USRN_No
LEFT JOIN DatabaseName.dbo.STREET_DESCRIPTOR STREETDES WITH ( NOLOCK ) ON STREETDES.USRN_NO = USRN.USRN_No
LEFT JOIN dbo.High_Way_Authority HW WITH ( NOLOCK ) ON HW.HW_Authority_ID = STREET.SWA_ORG_REF
LEFT JOIN [DatabaseName].dbo.additional_STREET Add_stree WITH ( NOLOCK ) ON USRN.USRN_No = Add_stree.USRN
WHERE O.Order_No ='123456'
これにより、次のような結果が得られます。
-565654-48798-メインストリート-チェンナイ-タミルナドゥ-インド-
誰かがこれを助けることができますか...