none
Llenar una columna de una tabla apartir de otras 2 columnas de la misma tabla ayuda. RRS feed

  • Pregunta

  • Buen día compañeros.
    Solicito su ayuda tengo una base de datos con una tabla expecifica que tiene 1,800 registros pero necesito agregar un columna mas a la tabla lo cual ya lo hice con el siguiente Query.

    ALTER TABLE [MSreplication_options] ADD COLUMNA_EXTRA VARCHAR(20) NULL;

    PEro esta columna nueva necesito llenarla apartie de otras 2 columnas de la misma tabla.
    Ejemplo

    LA COLUMNA EXTRA ESTA FORMADA DE LA COLUMNA NOMBRE1 + NOMBRE 2

    miércoles, 20 de junio de 2018 16:32

Respuestas

  • En este caso recomendaria una columna calculada.

    alter table MSreplication_options
    add columna_extra as isnull(nombre1 + ' ', '') + isnull(nombre2, '') persisted;

    La opcion de persistir o no es a tu conveniencia.

    CREATE TABLE dbo.T1 (
    col1 varchar(25) NULL,
    col2 varchar(25) NULL
    );
    GO
    INSERT INTO dbo.T1 (
    col1,
    col2
    )
    VALUES
    	('A1', NULL),
    	(NULL, 'B2'),
    	('A3', 'B3'),
    	(NULL, NULL);
    GO
    SELECT * FROM dbo.T1;
    GO
    ALTER TABLE dbo.T1
    ADD columna_Extra AS ISNULL(col1 + ' ', '') + ISNULL(col2, '') PERSISTED;
    GO
    SELECT * FROM dbo.T1;
    GO
    DROP TABLE dbo.T1;
    GO


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas



    miércoles, 20 de junio de 2018 16:47
  • TysonWB, ese script es un script que ejemplifica lo que le están recomendando.  Obviamente el script trabaja sobre la tabla de muestra "T1".  Su trabajo ahora es examinar el código y entenderlo para así aplicar la modificación a su propia tabla.  De hecho, la parte que ocupa es la que dice ALTER TABLE dbo.T1 ADD columna_Extra... pero cambiando el nombre de tabla y los nombres de campo en la fórmula.

    Jose R. MCP
    My GIT Repositories | Mis Repositorios GIT


    miércoles, 20 de junio de 2018 17:25

Todas las respuestas

  • En este caso recomendaria una columna calculada.

    alter table MSreplication_options
    add columna_extra as isnull(nombre1 + ' ', '') + isnull(nombre2, '') persisted;

    La opcion de persistir o no es a tu conveniencia.

    CREATE TABLE dbo.T1 (
    col1 varchar(25) NULL,
    col2 varchar(25) NULL
    );
    GO
    INSERT INTO dbo.T1 (
    col1,
    col2
    )
    VALUES
    	('A1', NULL),
    	(NULL, 'B2'),
    	('A3', 'B3'),
    	(NULL, NULL);
    GO
    SELECT * FROM dbo.T1;
    GO
    ALTER TABLE dbo.T1
    ADD columna_Extra AS ISNULL(col1 + ' ', '') + ISNULL(col2, '') PERSISTED;
    GO
    SELECT * FROM dbo.T1;
    GO
    DROP TABLE dbo.T1;
    GO


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas



    miércoles, 20 de junio de 2018 16:47
  • En este caso recomendaria una columna calculada.

    alter table MSreplication_options
    add columna_extra as isnull(nombre1 + ' ', '') + isnull(nombre2, '') persisted;

    La opcion de persistir o no es a tu comveniencia.

    CREATE TABLE dbo.T1 (
    col1 varchar(25) NULL,
    col2 varchar(25) NULL
    );
    GO
    INSERT INTO dbo.T1 (
    col1,
    col2
    )
    VALUES
    	('A1', NULL),
    	(NULL, 'B2'),
    	('A3', 'B3'),
    	(NULL, NULL);
    GO
    SELECT * FROM dbo.T1;
    GO
    ALTER TABLE dbo.T1
    ADD columna_Extra AS ISNULL(col1 + ' ', '') + ISNULL(col2, '') PERSISTED;
    GO
    SELECT * FROM dbo.T1;
    GO
    DROP TABLE dbo.T1;
    GO


    AMB

    Some guidelines for posting questions...

    AYÚDANOS A AYUDARTE, guía básica de consejos para formular preguntas


    pero me esta creando una tabla nueva y no me hace el update en la fila nueva
    miércoles, 20 de junio de 2018 17:05
  • TysonWB, ese script es un script que ejemplifica lo que le están recomendando.  Obviamente el script trabaja sobre la tabla de muestra "T1".  Su trabajo ahora es examinar el código y entenderlo para así aplicar la modificación a su propia tabla.  De hecho, la parte que ocupa es la que dice ALTER TABLE dbo.T1 ADD columna_Extra... pero cambiando el nombre de tabla y los nombres de campo en la fórmula.

    Jose R. MCP
    My GIT Repositories | Mis Repositorios GIT


    miércoles, 20 de junio de 2018 17:25