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

Consulta a dos tablas y devolver todos los datos en una sola tupla

Estas en el tema de Consulta a dos tablas y devolver todos los datos en una sola tupla en el foro de Bases de Datos General en Foros del Web. Hola soy nuevo en este foro. Mi duda es la siguiente: Tengo tres tablas(Autos, Mantenimiento, Reparaciones) La tabla autos posee diferentes tipos de autos, la ...
  #1 (permalink)  
Antiguo 22/12/2010, 07:53
 
Fecha de Ingreso: diciembre-2010
Ubicación: cuba
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Pregunta Consulta a dos tablas y devolver todos los datos en una sola tupla

Hola soy nuevo en este foro.

Mi duda es la siguiente: Tengo tres tablas(Autos, Mantenimiento, Reparaciones)
La tabla autos posee diferentes tipos de autos, la tabla mantenimiento las piezas que requiere un auto para su mantenimiento y la tabla reparaciones las piezas para reparar un auto.

La llave primaria de la tabla autos es llave foranea de la tabla mantenimiento y de la tabla reparaciones.

Como yo podria listar en una sola tupla el siguiente resultado o sea como haria una consulta para obtener el siguiente resultado:
-------------------------------------------------------------------------------------------------------
| marca_auto | precio_pieza_mantenimiento | precio_pieza_reparaciones|
-------------------------------------------------------------------------------------------------------
tupla1: AUDI | 200 | 300 |
--------------------------------------------------------------------------------------------------------
tupla2: TOYOTA | 500 | 800 |
--------------------------------------------------------------------------------------------------------
tupla3: FERRARI | 300 | 600 |
--------------------------------------------------------------------------------------------------------


GRACIAS DE ANTEMANO, ESPERO ALGUIEN ME PUEDA AYUDAR....
  #2 (permalink)  
Antiguo 22/12/2010, 08:24
Avatar de Snaft_J1  
Fecha de Ingreso: diciembre-2006
Mensajes: 285
Antigüedad: 18 años
Puntos: 8
Respuesta: Consulta a dos tablas y devolver todos los datos en una sola tupla

buenas, te pongo un prototipo de consulta, pienso que a tu post se faltan detalles
pero con esto seras capaz de armarla.
Código MySQL:
Ver original
  1. From Autos Inner Join Mantenimientos
  2.         On ( Autos.Id = Mantenimientos.Id )
  3.         Inner (o LEFT)  Join Reparaciones
  4.        On ( Autos.Id = Reparaciones.Id)
  5. ---where Reparaciones Is null
__________________
-= El conocimiento y el saber te hacen un ser libre =-
Ando en busca de conocimiento....
  #3 (permalink)  
Antiguo 22/12/2010, 08:42
 
Fecha de Ingreso: diciembre-2010
Ubicación: cuba
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Respuesta: Consulta a dos tablas y devolver todos los datos en una sola tupla

Cita:
Iniciado por Snaft_J1 Ver Mensaje
buenas, te pongo un prototipo de consulta, pienso que a tu post se faltan detalles
pero con esto seras capaz de armarla.
Código MySQL:
Ver original
  1. From Autos Inner Join Mantenimientos
  2.         On ( Autos.Id = Mantenimientos.Id )
  3.         Inner (o LEFT)  Join Reparaciones
  4.        On ( Autos.Id = Reparaciones.Id)
  5. ---where Reparaciones Is null
Puedes que tengas razon hermano, pero mira el camino que voy siguiendo:

SELECT linea_equipo.id_unidad, SUM((SELECT sum(mant_prog.precio_cuc) as cuc FROM mant_prog WHERE mant_prog.id_linea_equipo = linea_equipo.id_linea_equipo )) as TOTAL
FROM linea_equipo
WHERE (((linea_equipo.id_unidad)='010101'))
GROUP BY linea_equipo.id_unidad, linea_equipo.id_linea_equipo;

esa consulta me devuelve lo siguiente:

id_unidad TOTAL
010101 202
010101 504
010101 686
010101 204
010101 746
010101 694

Con eso ya casi tengo mi cunsulta, ahora solo me faltaria convertir ese resultado en una sola tupla o sea un solo id_unidad y como total la suma de todos esos numeros.
  #4 (permalink)  
Antiguo 22/12/2010, 10:28
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Consulta a dos tablas y devolver todos los datos en una sola tupla

Código SQL:
Ver original
  1. SELECT id_unidad, SUM(total)
  2. FROM
  3. (
  4. SELECT linea_equipo.id_unidad, SUM((SELECT SUM(mant_prog.precio_cuc) AS cuc FROM mant_prog WHERE mant_prog.id_linea_equipo = linea_equipo.id_linea_equipo )) AS TOTAL
  5. FROM linea_equipo
  6. WHERE (((linea_equipo.id_unidad)='010101'))
  7. GROUP BY linea_equipo.id_unidad, linea_equipo.id_linea_equipo;
  8. ) t1 GROUP BY id_unidad

Saludos!
  #5 (permalink)  
Antiguo 22/12/2010, 11:00
 
Fecha de Ingreso: diciembre-2010
Ubicación: cuba
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Respuesta: Consulta a dos tablas y devolver todos los datos en una sola tupla

Cita:
Iniciado por Libras Ver Mensaje
Código SQL:
Ver original
  1. SELECT id_unidad, SUM(total)
  2. FROM
  3. (
  4. SELECT linea_equipo.id_unidad, SUM((SELECT SUM(mant_prog.precio_cuc) AS cuc FROM mant_prog WHERE mant_prog.id_linea_equipo = linea_equipo.id_linea_equipo )) AS TOTAL
  5. FROM linea_equipo
  6. WHERE (((linea_equipo.id_unidad)='010101'))
  7. GROUP BY linea_equipo.id_unidad, linea_equipo.id_linea_equipo;
  8. ) t1 GROUP BY id_unidad

Saludos!
gracias hermano por tu respuesta pero me da un error al correrla me dice error en la clausula from
me podrias explicar tu respuesta amigo ??????
  #6 (permalink)  
Antiguo 22/12/2010, 11:06
 
Fecha de Ingreso: diciembre-2010
Ubicación: cuba
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Respuesta: Consulta a dos tablas y devolver todos los datos en una sola tupla

Cita:
Iniciado por Libras Ver Mensaje
Código SQL:
Ver original
  1. SELECT id_unidad, SUM(total)
  2. FROM
  3. (
  4. SELECT linea_equipo.id_unidad, SUM((SELECT SUM(mant_prog.precio_cuc) AS cuc FROM mant_prog WHERE mant_prog.id_linea_equipo = linea_equipo.id_linea_equipo )) AS TOTAL
  5. FROM linea_equipo
  6. WHERE (((linea_equipo.id_unidad)='010101'))
  7. GROUP BY linea_equipo.id_unidad, linea_equipo.id_linea_equipo;
  8. ) t1 GROUP BY id_unidad

Saludos!
socio mil gracias por tu ayuda ya me corre la consulta solo un detalle
aqui donde me pusistes: t1 GROUP BY id_unidad
le agregue el as: AS ) t1 GROUP BY id_unidad

Gracias de todas formas hermano me resolvistes todo el problema man
ghracias por tu ayuda
  #7 (permalink)  
Antiguo 22/12/2010, 11:11
 
Fecha de Ingreso: diciembre-2010
Ubicación: cuba
Mensajes: 5
Antigüedad: 14 años
Puntos: 0
Respuesta: Consulta a dos tablas y devolver todos los datos en una sola tupla

RESPUESTA ENTERA Y BIEN

SELECT t1.id_unidad, Sum(t1.total) AS Total_CUC
FROM (SELECT linea_equipo.id_unidad, (SELECT sum(mant_prog.precio_cuc) FROM mant_prog WHERE mant_prog.id_linea_equipo = linea_equipo.id_linea_equipo) AS total
FROM linea_equipo
WHERE (((linea_equipo.id_unidad)='010101'))
GROUP BY linea_equipo.id_unidad, linea_equipo.id_linea_equipo
) AS t1
GROUP BY t1.id_unidad;


GRACIAS LIBRAS
  #8 (permalink)  
Antiguo 09/03/2011, 07:49
 
Fecha de Ingreso: abril-2007
Ubicación: Concon, Viña del mar
Mensajes: 34
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Consulta a dos tablas y devolver todos los datos en una sola tupla

y como se podria hacer eso mismo pero mostrando (en vez de cifras) el modelo o marca del vehiculo ???

ojala puedan ayudarme, gracias
  #9 (permalink)  
Antiguo 09/03/2011, 08:35
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 4 meses
Puntos: 774
Respuesta: Consulta a dos tablas y devolver todos los datos en una sola tupla

Cita:
Iniciado por kensou_udlax Ver Mensaje
y como se podria hacer eso mismo pero mostrando (en vez de cifras) el modelo o marca del vehiculo ???

ojala puedan ayudarme, gracias
Y cuales son los datos de tu tabla?? Porque asi como preguntas no se te puede dar una respuesta concisa

Saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #10 (permalink)  
Antiguo 09/03/2011, 08:51
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Consulta a dos tablas y devolver todos los datos en una sola tupla

Cita:
Iniciado por kensou_udlax Ver Mensaje
y como se podria hacer eso mismo pero mostrando (en vez de cifras) el modelo o marca del vehiculo ???

ojala puedan ayudarme, gracias
Si tienes una duda de tu problema, es mejor que abras un post propio y no que te cuelgues de un post ajeno. Es poco cortés hacer eso, y además uno no abre un tema por el último post, sino por el primero.

Postea bien tu problema y la estructura de tus tablas para ver cómo poder ayudarte.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: devolver, dos, tablas, tupla
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 06:40.