0

私は現在、asp.netのgridviewでバインドするための値を返すStoredprocを持っています。私がやりたいことの1つは、2つのフィールドを/で区切られた1つに結合することですが、これを機能させることができないようです。

これが私のストアドプロシージャです

DECLARE @SQL VARCHAR(MAX);

BEGIN
SET @SQL = N'SELECT SYSTEM AS ''System''
            , ENTN AS ''Entity''
            , MED_CTR AS ''Medical Center''
            , MED_CTR_LEVEL AS ''Medical Center Level''
            , DEPT_ID AS ''Department ID''
    FROM V_ROLLUP_SYSTEM_DESC_REV1
    WHERE (DEPT_ID = '+CONVERT(VARCHAR,@DEPTCODE)+')
        AND SYSTEM IN ('+@SYS+')'
PRINT(@SQL)
EXEC(@SQL)

そこで、MED_CTRとMED_CTR_LEVELを「/」で区切り、Medical Center/Levelというラベルを付けて組み合わせたいと思います。「/」を追加しようとしたすべてのメソッドが何も返さないため、これまでのところ組み合わせることができないようです。

4

1 に答える 1

1

これはうまくいくはずです:

SET @SQL = N'SELECT SYSTEM AS [System]
            , ENTN AS [Entity]
            , (MED_CTR +''/''+ MED_CTR_LEVEL) as [Medical Center/ Level]
            , DEPT_ID AS [Department ID]
    FROM V_ROLLUP_SYSTEM_DESC_REV1
    WHERE (DEPT_ID = '+CONVERT(VARCHAR,@DEPTCODE)+')
        AND SYSTEM IN ('+@SYS+')'

2 つの列の連結が常に成功することを確認したい場合は、次のようにします。

SET @SQL = N'SELECT SYSTEM AS [System]
            , ENTN AS [Entity]
            , ISNULL(MED_CTR,''N/A'') +''/''+ ISNULL(MED_CTR_LEVEL,''N/A'') ) as [Medical Center/ Level]
            , DEPT_ID AS [Department ID]
    FROM V_ROLLUP_SYSTEM_DESC_REV1
    WHERE (DEPT_ID = '+CONVERT(VARCHAR,@DEPTCODE)+')
        AND SYSTEM IN ('+@SYS+')'
于 2012-08-08T17:16:57.073 に答える