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

Consulta Compleja (if y join)

Estas en el tema de Consulta Compleja (if y join) en el foro de Mysql en Foros del Web. Chicos, tengo esta consulta: Código: select if (v.id_opcion > 0, o.opcion, v.valor) from esquemas_valores as v, esquemas_opciones as o where v.id_producto = '11' and v.id_atributo ...
  #1 (permalink)  
Antiguo 24/05/2006, 09:33
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 20 años, 5 meses
Puntos: 2
Consulta Compleja (if y join)

Chicos, tengo esta consulta:
Código:
select if (v.id_opcion > 0, o.opcion, v.valor)
from esquemas_valores as v, esquemas_opciones as o
where v.id_producto = '11' and v.id_atributo = '3'
and (v.id_opcion = o.id_opcion)
pero tengo un problema: si 'v.id_opcion = 0', la línea 'and (v.id_opcion = o.id_opcion)' arroja null, en lugar de v.valor, pq no pudo cumplir el join

hay forma de evitar esto?

espero que me puedan ayudar
  #2 (permalink)  
Antiguo 24/05/2006, 11:28
Avatar de nachopro  
Fecha de Ingreso: noviembre-2003
Ubicación: Haedo, Bs. As.
Mensajes: 290
Antigüedad: 20 años, 5 meses
Puntos: 2
Miren, llegué a esta casera solución:
Código:
select if (v.id_opcion > 0, o.opcion, v.valor)
from esquemas_valores as v, esquemas_opciones as o
where v.id_producto = '11' and v.id_atributo = '3'
and (v.id_opcion = o.id_opcion or v.id_opcion = 0) limit 1
dudo que sea la mejor, pero por ahora funciona.
pero tengo que ver, cuando haya muchos datos en la base, que resultados arroja.

de todos modos sigo esperando alguna 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 16:28.