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

Comparar registros uno a uno

Estas en el tema de Comparar registros uno a uno en el foro de SQL Server en Foros del Web. Tengo dos tablas que tienen una preguntas con un campo pregunta y opcion correcta asi Tabla PREGUNTAS preg_id=identity preg= campo de texto con la pregunta ...
  #1 (permalink)  
Antiguo 11/10/2006, 08:56
 
Fecha de Ingreso: febrero-2003
Mensajes: 141
Antigüedad: 21 años, 2 meses
Puntos: 0
Comparar registros uno a uno

Tengo dos tablas que tienen una preguntas con un campo pregunta y opcion correcta asi
Tabla PREGUNTAS
preg_id=identity
preg= campo de texto con la pregunta
op_correcta= numero de 1 a 10

Y otra con las respuestas de la gente
tabla RESPUESTAS
resp_id=identity
preg_id=num
resp=num de 1 a 10

Quiero armar un select que compare las resp con la op correcta
Es asi?

SELECT preg, IIF([resp]=[op_correcta],"bien","Mal") FROM RESPUESTAS INNER JOIN
PREGUNTAS ON dbo.respuestas.preg_id = dbo.preguntas.preg_id

Pues me da un error en "=" asi como esta
Podrian ayudarme a corregirla?
Gracias
  #2 (permalink)  
Antiguo 11/10/2006, 09:01
Avatar de Andres95
Colaborador
 
Fecha de Ingreso: diciembre-2004
Mensajes: 1.802
Antigüedad: 19 años, 4 meses
Puntos: 38
segun yo la funcion iif no existe en TSQL de SQL Server 2000..
podrias reemplazarlo por un case...
ej.

Código:
select p.preg, case when r.resp_id = p.op_correct Then 'bien' else 'mal' end,
FROM RESPUESTAS R INNER JOIN
PREGUNTAS P ON dbo.respuestas.preg_id = dbo.preguntas.preg_id
__________________
La sencillez y naturalidad son el supremo y último fin de la cultura...
--
MCTS : SQL Server 2008, .NET Framework 3.5, ASP.NET Applications.
  #3 (permalink)  
Antiguo 11/10/2006, 09:38
 
Fecha de Ingreso: febrero-2003
Mensajes: 141
Antigüedad: 21 años, 2 meses
Puntos: 0
Aparentemente el CASE funciona en SQL y deja de funcionar en ACCESS
Muchas gracias por tu ayuda
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 19:04.