Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Expresion Case

Estas en el tema de Expresion Case en el foro de SQL Server en Foros del Web. Tengo un par de tablas un es DOCUMENTOS y la otra oBSERVACION; en documentos esta ID identity, P1 bit,p1 bit,p3 bit,p4 bit, ahora lo que ...
  #1 (permalink)  
Antiguo 18/07/2011, 14:50
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Expresion Case

Tengo un par de tablas un es DOCUMENTOS y la otra oBSERVACION; en documentos esta ID identity, P1 bit,p1 bit,p3 bit,p4 bit, ahora lo que quiero hacer es si en P1 = 0 en la tabla OBSERVACION (id, idalumno,Observacion) en el campo observacion se inserte un comentario. ahora si digamos P1, P2,P3 son todos = 0 cada uno tiene su comentario diferente y todos deberian ir al campo observacion.

yo pense hacer esto pero no lo veo muy bien que digamos

declare @total nvarchar (200)
declare @ob nvarchar (20) set @ob= (case when (select p3 from gente)=0 then 'alto' end)
declare @ob1 nvarchar (20) set @ob1= (case when (select p4 from gente)=0 then ';bajo' end)
declare @ob2 nvarchar (20) set @ob2= (case when (select p1 from gente)=0 then ';medio' else ';P' end)
set @total = @ob+@ob1+@ob2
select @total
  #2 (permalink)  
Antiguo 18/07/2011, 15:30
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 3 meses
Puntos: 180
Respuesta: Expresion Case

No se entiende, coloca ejemplos
__________________
MCTS Isaias Islas
  #3 (permalink)  
Antiguo 18/07/2011, 15:33
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 2 meses
Puntos: 774
Respuesta: Expresion Case

Código SQL:
Ver original
  1. INSERT INTO observacion
  2. SELECT
  3. id, idalumno,
  4. CASE
  5. WHEN p1=0 THEN 'comentario' ELSE
  6. WHEN p2=0 THEN 'comentario' ELSE
  7. WHEN p3=0 THEN 'comentario' ELSE
  8. WHEN p4=0 THEN 'comentario' END AS observacion
  9. FROM documentos

Algo asi :)

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #4 (permalink)  
Antiguo 18/07/2011, 16:26
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 3 meses
Puntos: 180
Respuesta: Expresion Case

jajajaja, veamos que dice nuestro amigo.....
__________________
MCTS Isaias Islas
  #5 (permalink)  
Antiguo 19/07/2011, 12:59
 
Fecha de Ingreso: julio-2011
Mensajes: 2
Antigüedad: 13 años, 3 meses
Puntos: 0
Respuesta: Expresion Case

MITABLA GENTE

create table gente(
id int identity primary key,
p1 bit,
p2 bit,
p3 bit,
p4 bit
)
MI TABLA OBSERVACIONES

create table Observaciones(
ID int identity primary key,
IDAlumnos int,
observacion nvarchar (200)
)

LO QUE DESEO HACER ES QUE AL INGRESAR DATOS EN LA TABLA GENTE POR CADA CAMPO INSERTE UN COMENTARIO AUTOMÁTICAMENTE EN LA TABLA OBSERVACIONES
EJEMPLO :
update gente set p1=1,p2=1,p3=0,p4=0 where id = 1
si el dato insertado es "0" en el caso de p3 el comentario deberia ser "sin certificado", en p4 "sin DNI" ;en caso de que sea "1" no hay comentario.

Y en la tabla observaciones en el campo observacion deberia insertarse automaticamente "sin certificado;sin DNI"
  #6 (permalink)  
Antiguo 19/07/2011, 14:13
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 17 años, 3 meses
Puntos: 180
Respuesta: Expresion Case

¿porque no lo colocas todo en una transaccion dentro de un store procedure?
__________________
MCTS Isaias Islas

Etiquetas: case, expresion, select, tabla, campos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:56.