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

mostras registros segun 2 condiciones

Estas en el tema de mostras registros segun 2 condiciones en el foro de Mysql en Foros del Web. Hola, mi consulta es la siguiente, como podria mostrar registros si se cumplen 2 condiciones digamos tengo estos campos id - codigo - estado 1 ...
  #1 (permalink)  
Antiguo 28/10/2017, 23:37
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
mostras registros segun 2 condiciones

Hola, mi consulta es la siguiente, como podria mostrar registros si se cumplen 2 condiciones digamos tengo estos campos

id - codigo - estado
1 - 122 - 2
2 - 122 - 3
3 - 123 - 2
4 - 123 - 2
5 - 124 - 1

necesito mostras los registro que tengan los estado con valor 2 pero del mismo codigo, por ejemplo los id 3 y 4 con codigo 123 cumple que todos sus estados estan en 2 en cambio los id 1 y 2 no ya que un estado esta en 1 y el otro en 2.
  #2 (permalink)  
Antiguo 28/10/2017, 23:46
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: mostras registros segun 2 condiciones


Pues la solución es la que ya planteas,
llevado a un query sería seleccionar los campos necesarios de la tabla,
luego agregar un WHERE donde el estado sea 2, y luego un AND donde el codigo sea 123
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 29/10/2017, 00:18
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostras registros segun 2 condiciones

hola mortiprogramador. gracias por responder, el tema es que quero mostrar todos los codigos que tengan sus estados iguales a 2, pueder haber 2,3,4,5 etc codigos iguales, si por ejemplo hay tres codigos 122 si sus tres estados son 2 los muestra uy si tambien hay 5 codigos 125 y todos sus estados estan en 2 pues tambien me lo muestra entonces me mostraria los codgos 122 y 125 en una tabla osea solo 2 registros espeor dejarme entender
  #4 (permalink)  
Antiguo 29/10/2017, 04:49
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: mostras registros segun 2 condiciones

Hola stevens82, pues en ese caso, al querer específicamente 2 códigos,
lo que se debe hacer es primero hacer lo que dijimos antes
pero con una variación al final.
Es decir, ya no es solo el AND del código,
sino que debe ser un AND que agrupará un OR,
pues se requieren 2 códigos.
Es decir, sería algo como

Código SQL:
Ver original
  1. AND (codigo = 122 OR codigo = 125)

Si se necesitaran más códigos, se agregan más OR,
o incluso podrías mejorarlo haciendo uso de cláusulas como IN o EXISTS
combinandolos con subconsultas, donde por ej con el EXISTS
lo que podrías hacer es buscar los DISTINCT códigos
cuyo estado sea 2 junto con un AND donde empates el código de la subconsulta con el de la consulta inicial,
y con eso incluso ya filtras todos los códigos de ese estado.

__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 29/10/2017 a las 05:28
  #5 (permalink)  
Antiguo 29/10/2017, 14:51
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostras registros segun 2 condiciones

Mira para explicarme mejor ojala se entienda, en una lista muestro varios registros, cada registro tiene un codigo, un nombre y un boton de estado con diferente color y nombre dependiendo de algo, cuando le doy click al enlace de dicho registro digamos al codigo me lleva a otra pagina q es el detalle de ese registro, en la url esta el codigo como parametro claro esta, bueno en ese detalle hay unos registros que estan por fechas, cada registro tiene un combobox donde seleccionas el estado de: Aprobado, Pendiente o Rechazado, lo que quiero es que cuando TODOS esos registros tengan el estado de Aprobado, en la pagina anterior (en el que di clcik para ingresar a este detalle) el boton cambie a aprobado, espero haberme dejado entender
  #6 (permalink)  
Antiguo 29/10/2017, 15:28
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: mostras registros segun 2 condiciones

Pues ya queda más claro, solamente una pregunta,
los registros están todos en una sola tabla? o en dos?

Bueno, sea cual sea el caso, lo mejor es
entonces en la consulta que usas actualmente en la página inicial
(donde se muestra el código con el enlace para ver el detalle y el botón coloreado)
agregar un campo más en el query, que no es un campo de la tabla como tal,
sino una subconsulta que simplemente haga una operación matemática
la cual sería por un lado contar los registros del código, y a ese resultado, restarle los registros del código donde el estado sea 2 (aprobado).
Si el resultado de la resta es 0 entonces todos los registros tienen el estado 2,
en caso contrario, falta alguno(s) por tener el estado 2 (aprobado)

Igualmente se podría agregar otra subconsulta para saber si fue rechazado (imagino que si tiene varios detalles, digamos que 3,
pero uno fue rechazado, los otros 2 quedarán como pendientes imagino, o se sigue tramitando?)
Esto para que de una vez muestre el estado de rechazado en el listado, y que ni lo miren
(a menos que en la consulta ya omitas los resultados que fueron rechazados, en cuyo caso omite esta parte)

¿Se entiende?
Ya me dirás.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #7 (permalink)  
Antiguo 29/10/2017, 15:42
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostras registros segun 2 condiciones

Hola, si estan en una sola tabla, pero esos se ingresan desde otra, pero eso ya es otro tema...

Y si, si todos son rechazados se ponga rechazados, pero por default todos estan en pendiente, lo que pasa que, son ingresasos a una sala y si esta mal algo rechaza todas las fechas osea esos registros y si esta bien la solicitud pues los aprueban todos.

como se restaria esas subconsultas? digamos tenems algo asi

Código MySQL:
Ver original
  1. SELECT codigo, COUNT(*) Total
  2. FROM ACCESO_SALA_FECHAS
  3. WHERE codigo = 1082
  4. GROUP BY codigo;
  5.  
  6. SELECT codigo, COUNT(*) Total
  7. FROM  ACCESO_SALA_FECHAS
  8. WHERE id_estado_oym IN (2) AND codigo = 1082
  9. GROUP BY codigo;

Última edición por stevens82; 29/10/2017 a las 16:00
  #8 (permalink)  
Antiguo 29/10/2017, 16:34
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: mostras registros segun 2 condiciones

Pues yo propongo esto:

Código SQL:
Ver original
  1. SELECT
  2. DISTINCT(t1.codigo),
  3. (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo) -
  4. (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo AND id_estado_oym = 2) total
  5. FROM ACCESO_SALA_FECHAS t1;
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #9 (permalink)  
Antiguo 29/10/2017, 20:38
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostras registros segun 2 condiciones

muchas gracias habia hehco ago asi que funcionaba masomenos para lo que deseo ahora
Código MySQL:
Ver original
  1. SELECT C.codigo, F.total_codigos - A.total_estados AS Total
  2.      FROM ACCESO_SALA_FECHAS C
  3.      LEFT JOIN ( SELECT codigo, COUNT(*) total_codigos
  4.                  FROM ACCESO_SALA_FECHAS
  5.                  GROUP BY codigo) F ON C.codigo = F.codigo
  6.      LEFT JOIN ( SELECT codigo, COUNT(*) total_estados
  7.                  FROM ACCESO_SALA_FECHAS WHERE id_estado_oym IN (2)
  8.                  GROUP BY codigo) A ON C.codigo = A.codigo
  9.      WHERE total_estados IS NOT NULL AND total_codigos IS NOT NULL GROUP BY C.codigo, F.total_codigos, A.total_estados ORDER BY codigo;

el tuyo cae bien si le pongo la condcion que es oo que deseo

pero si tengo esta consulta

Código MySQL:
Ver original
  1. UPDATE acceso_sala_solicitud SET id_estado_oym = 2 WHERE CODIGO = :codigo

lo que quiero es que se actualice en 2 si el resultado de esa consulta es 0 y como lo actualizo a 3 si todos los estados son rechazados?
  #10 (permalink)  
Antiguo 29/10/2017, 21:24
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: mostras registros segun 2 condiciones

Pues para obtener los rechazados, agregaría otro query



Código SQL:
Ver original
  1. SELECT
  2. DISTINCT(t1.codigo),
  3. (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo) -
  4. (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo AND id_estado_oym = 2) aprobados,
  5. (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo) -
  6. (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo AND id_estado_oym = 3) rechazados
  7. FROM ACCESO_SALA_FECHAS t1;


Así por ej, si hubiese un código con 2 registros y ambos aprobados,
se obtendría aprobados = 0, rechazados = 2
Si fueran ambos rechazados, aprobados = 2, rechazados = 0

Ahora bien, dices que quieres hacer un UPDATE,
pero no se supone que los UPDATE los hacen al momento
de entrar al detalle?

Es decir, para el ejemplo de los 2 registros de un mismo código,
entiendo que se vería en la lista el código y el botón de 'Pendiente'.
Esto porque resultado del query que te pase, al estar inicialmente
ambos registros en estado 1 (Pendiente) el query daría:
aprobados = 2, rechazados = 2

Ahora, entro al detalle, edito uno de los registros con la lista de estados,
digamos que lo rechazo y guardo.

Ahora el query daría aprobados = 2, rechazados = 1
Pregunto, aquí que debería pasar?
Debería desaparecer ya el registro de la lista, pues ya tiene un rechazo?
O se va a esperar a que se editen todos los registros que tenga?

Sigamos, si entro al detalle otra vez y al siguiente registro lo rechazo también,
el query ahora dará aprobados = 2, rechazados = 0

Y como siempre se vuelve del detalle al listado inicial,
en este punto ya tenemos la forma de cambiar el botón 'Pendiente' a 'Rechazado'

Igualmente, si los aprueban ambos, entonces sera aprobados = 0, rechazados = 2 y cambiar el botón de 'Pendiente' a 'Aprobado'

Pero que debe pasar si aprueban uno y rechazan otro?



__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #11 (permalink)  
Antiguo 29/10/2017, 22:16
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostras registros segun 2 condiciones

Hola nuevamente mira asi es la cosa, los registros en si tienen 3 botones cada uno con sus estados respectivos (los que menciene en el post), pero dos de estos estados solo en el detalle aparecen solo una vez no como el que mencione que pueden aparecer una o mas veces entonces si uno de estos botones aparece rechazado deja de mostrarse osea el registro se oculta y si aparecen todos aprobados los manda a otra lista, en cuanot al combobox emncionado anteriormente o todos son aprobados o rechazados no hya otra ya que solo es una solicitud pero para diferentes fechas, por eso queria saber si la forma enq ue si encuentra todos aprobados en otra tabla me actualice el estado a 2 y ahi entonces me diga que los 3 estados de los 3 combobox son aprobados y me los pase a la otra pagina pero si uno de esos 3 es rechazado pues se oculta obligatoriamente el estado pendiente tiene que actulizarce a cualqueira de esos dos estados no hya de otra, espeor haberme entendido.

pdta. los dos estados q solo aparece una ves estan en otra tabla ya que ahi no son por fechas por eso en ea tabla le habia otro campo de estado y que ahi actualice cosa que si los tres estan en 2 entonces me lo envie a otra lista.

por eso queria saber com actualizar esa tabla con esa comparacion algo asi

Código MySQL:
Ver original
  1. UPDATE acceso_sala_solicitud A
  2. SET A.id_estado_oym = 2 WHERE codigo = 1082 AND
  3.     (SELECT
  4.     DISTINCT(AF.codigo),
  5.     (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = AF.codigo) -
  6.     (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = AF.codigo AND id_estado_oym = 2) total
  7.     FROM ACCESO_SALA_FECHAS AF WHERE AF.codigo = 1082) = 0;

se que esta mal pero algo asi era la idea....

Última edición por stevens82; 29/10/2017 a las 22:22
  #12 (permalink)  
Antiguo 30/10/2017, 00:38
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: mostras registros segun 2 condiciones

A ver si este se ajusta:

Código SQL:
Ver original
  1. UPDATE acceso_sala_solicitud t2
  2. INNER JOIN
  3. (
  4.     SELECT
  5.     DISTINCT(t1.codigo)
  6.     FROM ACCESO_SALA_FECHAS t1
  7.     HAVING
  8.     (
  9.         (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo) -
  10.         (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo AND id_estado_oym = 2)
  11.     ) = 0
  12. ) t3
  13. ON t2.codigo= t3.codigo
  14. SET t2.id_estado_oym = 2;
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 31/10/2017 a las 12:01
  #13 (permalink)  
Antiguo 30/10/2017, 02:44
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostras registros segun 2 condiciones

gracias por tus ayuda, peor me sale un error :

Error en la línea de comandos : 2 Columna : 3
falta la palabra clave SET

la verdad no conosco mucho sobre esta tipo de consultas y no doy con el error
  #14 (permalink)  
Antiguo 30/10/2017, 19:34
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: mostras registros segun 2 condiciones

¿Copiaste el query tal como te lo pasé, o hiciste cambios?

Por si acaso, publica el query que estas usando.
El SET es una palabra clave al hacer un UPDATE,
no debería dar problema.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #15 (permalink)  
Antiguo 30/10/2017, 21:31
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostras registros segun 2 condiciones

hola mortiprogramador, pues la verddad estoy en oracle y postie aca por que aca habia mas movimiento, y necesitaba alguna ayuda sabras si hay alguna diferencia grande de esta consulta para pasarla a oracle?
  #16 (permalink)  
Antiguo 30/10/2017, 22:42
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: mostras registros segun 2 condiciones

hola stevens82, pero en el foro de oracle vi que pusiste
fue otro tema completamente diferente.

En cuanto a nuestro tema, pues en teoría debería funcionar,
es decir, esa sentencia sql es 'general'

Pero por si acaso, cuál versión de oracle estás manejando?
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #17 (permalink)  
Antiguo 30/10/2017, 23:59
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostras registros segun 2 condiciones

Hola si son 2 cosas distintas l que pasa esty pasando una aplicacion de mysq a oracle , eso para lista de accesos, peor esto es para actuliar combobox segun fechas, con lo explicado arriba, por eso encesito que si se han selccionado todos a aporbado en otra tabla me actualce a aprobado, la version es la 12, el ultimo codigo me sale ese error
  #18 (permalink)  
Antiguo 31/10/2017, 00:54
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: mostras registros segun 2 condiciones

Uhm, pues el asunto es que justo ahora no tengo
instalada la 12, pero demos palos de ciego, intenta esto:

Código SQL:
Ver original
  1. UPDATE acceso_sala_solicitud
  2. SET id_estado_oym = 2
  3. WHERE codigo =
  4. (
  5.     SELECT
  6.     DISTINCT(t1.codigo)
  7.     FROM ACCESO_SALA_FECHAS t1
  8.     HAVING
  9.     (
  10.         (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo) -
  11.         (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo AND id_estado_oym = 2)
  12.     ) = 0
  13. );
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 31/10/2017 a las 12:03
  #19 (permalink)  
Antiguo 31/10/2017, 02:11
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostras registros segun 2 condiciones

hola una consulta ese numer1 que es dde dodne sale?

Código MySQL:
Ver original
  1. Error que empieza en la línea: 1 del comando -
  2. UPDATE acceso_sala_solicitud
  3.     SET id_estado_oym = 2
  4.     WHERE codigo =
  5.     (
  6.         SELECT
  7.         DISTINCT(t1.codigo)
  8.         FROM ACCESO_SALA_FECHAS t1
  9.         HAVING (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo =  t1.codigo) -
  10.                      (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo =  t1.codigo AND number1 = 2) = 0
  11.     )
  12. Error en la línea de comandos : 8 Columna : 167
  13. Informe de error -
  14. Error SQL: ORA-00904: "NUMBER1": identificador no válido
  15. 00904. 00000 -  "%s: invalid identifier"
  16. *Cause:    

Última edición por gnzsoloyo; 31/10/2017 a las 06:35 Razón: Legibilidad de codigo
  #20 (permalink)  
Antiguo 31/10/2017, 09:43
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.404
Antigüedad: 13 años, 2 meses
Puntos: 774
Respuesta: mostras registros segun 2 condiciones

Revisa bien la consulta, y revisa que las columnas que esta usando mortiprogramador existan en tu tabla, number1 es una columna que al parecer no existe en tu tabla
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #21 (permalink)  
Antiguo 31/10/2017, 11:56
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: mostras registros segun 2 condiciones

Rashos
Sí, mea culpa.
Lo que pasa es que yo manejo para los temas del foro
tablas genéricas (con nombres genéricos de campos)
y trato a la hora de publicar de cambiar todo con los campos correctos
para que les funcione a ustedes.

Como bien dice Libras ese campo no lo tienes,
reemplazalo por el campo id_estado_oym
(de hecho, si te fijas creo que en el query anterior que te pase
esta el mismo problema)

Editaré los post anteriores para que estén correctos.

Listo, posts anteriores editados.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Última edición por mortiprogramador; 31/10/2017 a las 12:04 Razón: rectificación posts
  #22 (permalink)  
Antiguo 02/11/2017, 01:56
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostras registros segun 2 condiciones

Hola gracias por tus repuesta esto me funciono muy bien para los aprobados pero me flataba los desaprobados, usando masomenos esta logica y el ultimo codigo que colocaste?

Código SQL:
Ver original
  1. SELECT
  2.     DISTINCT(t1.codigo),
  3.     (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo) -
  4.     (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo AND id_estado_oym = 2) aprobados,
  5.     (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo) -
  6.     (SELECT COUNT(codigo) FROM ACCESO_SALA_FECHAS WHERE codigo = t1.codigo AND id_estado_oym = 3) rechazados
  7.     FROM ACCESO_SALA_FECHAS t1;
  #23 (permalink)  
Antiguo 02/11/2017, 23:14
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 10 años, 2 meses
Puntos: 214
Respuesta: mostras registros segun 2 condiciones

Si ejecutas el update con la modificación que publicaste de la subconsulta,
te funcionará pero te pondrá en estado 2 a los que están en estado 3 también.

Así que tienes dos opciones:
1. Manejar el mismo query dos veces, solo que en el segundo le cambias id_estado_oym de 2 a 3, por ende, se ejecutarían ambos.
2. Pasar la funcionalidad ya sea a una función, store procedure o trigger a la bd
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #24 (permalink)  
Antiguo 03/11/2017, 02:34
 
Fecha de Ingreso: octubre-2011
Mensajes: 131
Antigüedad: 8 años, 1 mes
Puntos: 4
Respuesta: mostras registros segun 2 condiciones

Gracias por tu valiosa ayuda, pues si efectivamente hice lo primero las 2 consultas , gracias por tu ayuda y muchas bendiciones...

Etiquetas: campo, condiciones, registro, registros
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 20:45.