SQL SELECT: nueva columna con valores basados en otra columna

beta

Tengo el siguiente resultado SQL de un SELECT:

col1 | col2 | col3
A    | 10   | 20
B    | 10   | 20
C    | 10   | 20

Quiero tener una columna adicional col4en los resultados que se rellena según las siguientes condiciones:

  • si col1es A, entonces col4debe llenarse con el valor decol2
  • si col1es B, entonces col4debe llenarse con el valor decol3
  • si col1es C, entonces col4debe llenarse con el valor-

Por tanto, el resultado esperado se ve así:

col1 | col2 | col3 | col4
A    | 10   | 20   | 10
B    | 10   | 20   | 20
C    | 10   | 20   | -
Lamak

Si sus columnas son números enteros, entonces no debe usar un valor real -como resultado:

SELECT col1,
       col2,
       col3,
       CASE 
          WHEN col1 = 'A' THEN col2
          WHEN col1 = 'B' THEN col3
          WHEN col1 = 'C' THEN NULL
       END col4
FROM dbo.YourTable;

Ahora, si desea una cadena como resultado para col4, entonces podría usar:

SELECT col1,
       col2,
       col3,
       CASE 
          WHEN col1 = 'A' THEN CAST(col2 AS VARCHAR(10))
          WHEN col1 = 'B' THEN CAST(col3 AS VARCHAR(10))
          WHEN col1 = 'C' THEN '-'
       END col4
FROM dbo.YourTable;

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Agregar nueva columna con valores basados en condiciones en valores de otra columna

R: ¿Cómo crear una nueva columna con valores basados en ciertos valores de otra columna?

Cómo agregar una nueva columna con valores basados en otra columna en pandas

Cree una nueva columna con valores vectoriales basados en grupos de otra columna de caracteres

Intentando actualizar filas de nueva columna con diferentes valores dependiendo del vlue en otra columna SQL

Filtrar valores basados en otra columna en SQL

Sumar valores únicos basados en otra columna

Obtener valores basados en otra columna

Cómo crear una nueva columna con valores como - 'alguna palabra como prefijo' + 'valores de otra columna' en SQL

Dividir valores de columna basados en delimitadores y coincidencias con otra columna en postgres

restar valores en una columna basados en otra columna

Obtener valores de columna basados en cambios en otra columna

Obtener valores de columna basados en cambios en otra columna

Mutar valores en una columna basados en otra columna

Oracle SQL: obtenga el recuento de valores de columna distintos basados en otra columna

R: cómo agregar una nueva columna y llenar con valores condicionales en otra columna (simple)

Pandas: crea una nueva columna con valores de otra columna basada en str contiene

Python Pandas: cree una nueva columna con cálculos basados en valores categóricos en una columna diferente

Pandas DataFrame: agregue una nueva columna con valores calculados basados en la fila anterior

Nueva columna con valores de caracteres basados en el número de fila

Pandas: nueva columna con valores únicos basados en la condición

Usar agregado con función personalizada (usar valores basados en otra columna)

Necesito seleccionar el mismo nombre de columna dos veces con valores diferentes basados en otra tabla

Repetir valores en una columna basados en otra

Repetir valores en una columna basados en otra

Oracle SQL Encuentre valores secuenciales basados en criterios en otra columna

Tengo un marco de datos y quiero llenar todos los valores de columna vacíos basados en filas anteriores con valores idénticos basados en otra columna.

Tengo un marco de datos y quiero llenar todos los valores de columna vacíos basados en filas anteriores con valores idénticos basados en otra columna.

Obtener valores basados en el máximo de otra columna