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

Ayuda con multiples querys

Estas en el tema de Ayuda con multiples querys en el foro de Mysql en Foros del Web. Buenos días, les escribo una vez mas solicitando de su ayuda, pero esta vez aca en el subforo de mysql. Resulta que estoy trabajando en ...
  #1 (permalink)  
Antiguo 17/05/2010, 08:33
Avatar de mackiechan  
Fecha de Ingreso: junio-2009
Ubicación: Maracay, Venezuela
Mensajes: 51
Antigüedad: 12 años, 11 meses
Puntos: 12
Ayuda con multiples querys

Buenos días, les escribo una vez mas solicitando de su ayuda, pero esta vez aca en el subforo de mysql.

Resulta que estoy trabajando en un sistema de inventario de equipos de computacion, el cual registra en la base de datos los pcs completos en una tabla aparte a la del monitor, impresoras y otros.

En el sistema a la hora de registrar un computador completo, le asignas un monitor registrado previamente en la bd que en teoria pertenece al stock, este automaticamente pasa su estado de stock a activo.

Las tablas involucradas en este momento son las siguientes:

  • marca
  • modelo
  • pcs
  • monitor



Entonces, mi problema esta en el momento en que debo listar todos los equipos registrados, esto porque cuando yo registro mi monitor este guarda mi id de marca para tomar el nombre en el innerjoin que hago con la tabla de marcas y asi mismo hago con la marca del pc.

Entonces no hayo la forma de en el listado hacer ambas consultas a la marca.

Ayuda por favor.
  #2 (permalink)  
Antiguo 18/05/2010, 04:51
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 14 años, 2 meses
Puntos: 574
Respuesta: Ayuda con multiples querys

* marca
* modelo
* pcs
* monitor


pcs->modelo->marca

monitor->modelo->marca

monitor->pcs

Una misma tabla la puedes poner varias veces en una consulta, con alias distintos, luego se soluciona el problema...


Código MySQL:
Ver original
  1. SELECT p.nombrePC,
  2.              ma1.marca as marcaPC,
  3.              m.nombreMonitor,
  4.              ma2.marca as marcaMonitor
  5. FROM ((pcs p INNER JOIN modelo mo1 ON p.idmodelo=mo1.idmodelo)
  6.                      INNER JOIN   marca ma1 ON mo1.idmarca=ma1.idmarca)
  7.           ((monitores m INNER JOIN  modelo mo2 ON m.idmodelo=mo2.idmodelo)
  8.                      INNER JOIN marca ma2 ON mo2.idmarca=ma2.idmarca)
  9. ON p.idPc=m.idPC
  10. WHERE....;

o algo así ....

Quim
  #3 (permalink)  
Antiguo 19/05/2010, 14:50
Avatar de mackiechan  
Fecha de Ingreso: junio-2009
Ubicación: Maracay, Venezuela
Mensajes: 51
Antigüedad: 12 años, 11 meses
Puntos: 12
Respuesta: Ayuda con multiples querys

Ooook no sabia que se podia hacer eso ni lo de crear como alias O: muchas gracias compa.

Por cierto otra preguntita, ya que aunno resuelvo mi problema jeje es que despues que tengo mi consulta lista como hago para imprimir mi campo de marca? porque el campo se llama 'nmar' al llamarlo en la consulta queda como $row['nmar'] pero como hago para distingir cuando es el 'nmar' de monitor y el del pc a la hora de hacer mi echo?
  #4 (permalink)  
Antiguo 19/05/2010, 16:05
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 14 años, 2 meses
Puntos: 574
Respuesta: Ayuda con multiples querys

En mi ejemplo seria

$row['marcaPC']
$row['marcaMonitor']

tu no se que has puesto ... cada cosa por su alias!!!

Quim

Etiquetas: multiples, querys
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 21:51.