name modificar ejemplo columna column agregar sql sql-server

modificar - alter table sql server ejemplo



SQL en línea si tipo de declaración pregunta (5)

Me gustaría hacer una consulta (MS) SQL que arroje algo como esto:

Col1 Col2 Col3 ---- --------------------- ------ AAA 18.92 18.92 BBB 20.00 40.00 AAA 30.84 30.84 BBB 06.00 12.00 AAA 30.84 30.84 AAA 46.79 46.79 AAA 86.40 86.40

donde Col3 es igual a Col2 cuando Col1 = AAA y Col3 es dos veces Col2 cuando Col1 = BBB. ¿Puede alguien señalarme en la dirección correcta, por favor?


Depende de tu sabor de SQL. Caso / Cuando funciona con SQL Server (y posiblemente otros).

Select Col1, Col2, Case When Col1 = ''AAA'' Then Col2 Else Col2 * 2 End As Col3 From YourTable


No mencionó qué tipo de base de datos está usando. Aquí hay algo que funcionará en SQL Server:

SELECT Col1, Col2, CASE WHEN Col1=''AAA'' THEN Col2 WHEN Col1=''BBB'' THEN Col2*2 ELSE NULL END AS Col3 FROM ...


select * from yourtable where (Col3 = col2 AND Col1 = ''AAA'') OR (Col3 = (2*Col2) AND Col1=''BBB'')


También puede usar las funciones ISNULL o COALESCE esta forma, en caso de que los valores sean nulos:

SELECT ISNULL(Col1, ''AAA'') AS Col1, ISNULL(Col2, 0) AS Col2, CASE WHEN ISNULL(Col1, ''AAA'') = ''BBB'' THEN ISNULL(Col2, 0) * 2 ELSE ISNULL(Col2) END AS Col3 FROM Tablename


A veces los valores son null , por lo que se pueden manejar de esta manera:

select Address1 + (case when Address2='''' then '''' else '', ''+Address2 end) + (case when Address3='''' then '''' else '', ''+ Address3 end) as FullAddress from users