Array
(
)

Juntar campos para select

Darcio Junior,
|
MVP
    06 set 2012

Olá possuo o seguinte select montado:
#Código

SELECT *,
      (SELECT
            CASE (SELECT
                    COUNT(c.name)
                  FROM
                    sys.sysindexes I, sys.sysindexkeys IK, sys.syscolumns C
                  WHERE I.id = IK.id
                    AND I.id = c.id
                    AND I.indid = IK.indid
                    AND IK.colid = C.colid
                    AND I.id = (SELECT id FROM sys.sysobjects WHERE xtype = 'U' AND name = NOMETABELA)
                    AND IK.indid = 1
                    AND C.NAME = S.COLUMN_NAME)
            WHEN 0 THEN ' ' ELSE 'Chave Primaria' END) CHAVE
    FROM
      INFORMATION_SCHEMA.COLUMNS S
    WHERE
      TABLE_NAME = NOMETABELA

Ele me retorna uma serie de informações sobre a tabela,pois bem eu gostaria que no campo DATA_TYPE, fosse "inserido" o campo CHARACTER_MAXIMUM_LENGTH OU NUMERIC_PRECISION, Seria DATA_TYPE + CHARACTER_MAXIMUM_LENGTH 'se' CHARACTER_MAXIMUM_LENGTH estiver null inserir NUMERIC_PRECISION, formando apenas um campo para exibir, de que maneira posso fazer?

Joel Rodrigues
   - 06 set 2012

Você pode concatenar os campos normalmente na pesquisa: CAMPO1 + ' - ' + CAMPO2. Caso um dos campos não seja varchar, você deve convertêlo usando o CAST(CAMPO AS VARCHAR) para concatenar.

Boa sorte.