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

Realizar select lioso

Estas en el tema de Realizar select lioso en el foro de Mysql en Foros del Web. Hola, no llevo mucho tiempo programando con Bases de Datos y con sentencias relativamente sencillas me defiendo, pero ahora me he encontrado con una que ...
  #1 (permalink)  
Antiguo 14/04/2011, 01:01
 
Fecha de Ingreso: agosto-2010
Mensajes: 28
Antigüedad: 13 años, 8 meses
Puntos: 0
Realizar select lioso

Hola, no llevo mucho tiempo programando con Bases de Datos y con sentencias relativamente sencillas me defiendo, pero ahora me he encontrado con una que no acabo de ver. Explico el problema advirtiendo que NO se puede rediseñar las tablas, tengo que trabajar sobre ellas aunque no veáis lógica cierta información:

Hay una tabla (1) con la siguiente información:

id num_pesaje estado
------------------------------------------
e1 p1 1
e2 p1 1
e4 p3 0
e5 p4 1


Por otra parte tengo esta tabla (2) con num_pesaje + linea como clave primaria:

num_pesaje linea producto peso
-------------------------------------------------------------
p1 1 prod1 53
p1 2 prod2 0
p1 3 prod3 21
p2 4 prod4 41

Por último tengo otra tabla (3) con num_pesaje como clave primaria:

num_pesaje fecha hora
---------------------------------------------------
p1 01/04/11 11:53
p2 02/04/11 09:25
p3 04/04/11 16:37

Lo que quiero es realizar una consulta que me obtenga los productos de la tabla 2 cuyo peso NO sea 0 con la fecha y hora correspondiente al num_pesaje obtenidos de la tabla 3 y por último la condición que no sé como poner, que el num_pesaje salga en la consulta solamente cuando tenga el estado 1 en TODAS sus apariciones en la tabla 1

Espero haberme explicado y que me podáis ayudar pues me urge un poco.

Saludos y gracias!
  #2 (permalink)  
Antiguo 14/04/2011, 01:52
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: Realizar select lioso

Pon la consulta que tienes hasta ahora y trabajamos sobre ella.

Para ver cuales son los que tienen el estado uno en todas sus apariciones puedes coger todas las que NO tengan el estado uno y coger el resto, quedaría algo así

Código MySQL:
Ver original
  1. WHERE id_num_pesaje NOT IN
  2. (SELECT *
  3. FROM tabla1
  4. WHERE estado <> 1)

Etiquetas: realizar, select
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 10:31.