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

drama con una consulta

Estas en el tema de drama con una consulta en el foro de Bases de Datos General en Foros del Web. /* tengo una tabla q tiene 4 campos pero el 1ro en el tabla_id osea sin importancia los otros tres son...voy a llenar con datos ...
  #1 (permalink)  
Antiguo 19/08/2010, 17:01
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 8 meses
Puntos: 9
drama con una consulta

/*
tengo una tabla q tiene 4 campos pero el 1ro en el tabla_id osea sin importancia

los otros tres son...voy a llenar con datos cualquiera para llegar al punto clave...

[contacto_rut] [tipo_dato_id] [valor]

123456 RECURRENTE 3000
123456 10000 34

ahora viene lo bueno....
si yo hago esta consulta...hay q sacar el rut y mostrar el valor q puede ser 3000
o 34.

select contacto_rut, valor from datos_contacto
where tipo_dato_id = 'RECURRENTE' and valor = '3000'

resultado => rut ->123456 y valor-> 3000

pero yo debo preguntar ya por dos registros de tipo_dato
por RECURRENTE y 10000 y por 34

si hago esto no muestra nada y se q esta malo nose como preguntar por
dos registros de un campo en una misma consulta algo asi.

select contacto_rut, valor from datos_contacto
where tipo_dato_id = 'RECURRENTE' and valor = '3000' and tipo_dato_id = '10000'

como...lo hago...ayuden */
  #2 (permalink)  
Antiguo 19/08/2010, 17:09
Avatar de Thumper  
Fecha de Ingreso: agosto-2004
Ubicación: Jesús María - Lima - Perú
Mensajes: 270
Antigüedad: 19 años, 8 meses
Puntos: 6
Respuesta: drama con una consulta

Creo que cualquiera de estos 2 select te puede servir.

select contacto_rut, valor from datos_contacto
where tipo_dato_id in ( 'RECURRENTE', '10000') and valor = '3000'

select contacto_rut, valor from datos_contacto
where ( tipo_dato_id = 'RECURRENTE' or tipo_dato_id = '10000') and valor = '3000'

saludos
__________________
Martín Alexis Valdivia S.
-----------------------------
"Quisiéramos cambiar el mundo, pero Dios no nos daría el código fuente." CAP
"Si Saber No Es Un Derecho, Seguro Será Un Izquierdo." WD
  #3 (permalink)  
Antiguo 20/08/2010, 14:28
 
Fecha de Ingreso: agosto-2010
Ubicación: santiago, CHILE
Mensajes: 564
Antigüedad: 13 años, 8 meses
Puntos: 9
Respuesta: drama con una consulta

/*...mil disculpas...el asunto es un poco mas complicado...para mi lo veo asi...espero q para uds. no lo sea...

el problema es el siguiente:

Tengo tres tablas q estan relacionadas y son estas

contacto - datos_contacto - tipo_dato

campos de las tablas

contacto -> contacto_rut
datos_contacto -> datos_contacto_id - tipo_dato_id - contacto_rut - datos_contacto_valor
tipo_dato -> tipo_dato_id - tipo_dato_descripcion

(no tomen importancia a esto solo lo menciono, las tablas tienen mas campos pero no son importantes no entran en la consulta por si ven q hay una q solo tiene un campo)

Valores de las tablas


tabla contacto

contacto_rut

13526875
12457552
9123244
14752852
etc....

tabla tipo_dato(el tipo_dato_descripcion no es importante por eso no lo puse...con el id se sabe el tipo)

tipo_dato_id

1
2
3
etc..

aqui estan los FK de las tablas para relacionarlas...contacto_rut para contacto y tipo_dato_id para tipo dato

tabla datos_contacto (utilize group by para mostrar las cantidades totales donde tipo_dato_valor = 'algo1' and tipo_dato_id = 'algo2' me interesa solo la cantidad de rut del criterio de busqueda...no la lista de rut)

el campo total es el total de rut que dio por el criterio de busqueda

datos_contacto_id-tipo_dato_id-datos_contacto_valor- total

-------- 1 -------- 3 -------- 6000 -------- 540000
-------- 2 -------- 4 -------- 8000 -------- 640000
-------- 3 -------- 3 -------- 7000 -------- 15400000
-------- 4 -------- 3 -------- 5000 -------- 4000
-------- 5 -------- 2 -------- 7800 -------- 25654

No anda en busca de un reto


aqui vamos : juguemos con los valores de datos contacto_id 2 y 4 que son 640000 rut en el primero y 4000 en el segundo.

La pregunta es cuantos rut de esos 640000 que tienen como valor 8000 y un tipo_dato_id = 4 hay en los 4000 rut que tienen valor 5000 y un tipo_dato_id = 3

eso es.....
ayudenme porfa....ta divertido...

*/
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 23:39.