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

Ayuda con consulta

Estas en el tema de Ayuda con consulta en el foro de Mysql en Foros del Web. SELECT * FROM oppe t right JOIN perf p USING (PERF_CODI) right JOIN depe d USING (PERM_CODI) en la tabla depe -> tengo 12 filas ...
  #1 (permalink)  
Antiguo 04/03/2010, 18:24
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 3 meses
Puntos: 2
Ayuda con consulta

SELECT *
FROM oppe t
right JOIN perf p USING (PERF_CODI)
right JOIN depe d USING (PERM_CODI)

en la tabla depe -> tengo 12 filas
en la tabla pert -> 3 filas que son adm, user, inv
oppe -> pk de perf, pk de depe, otros datos

lo que quiero es que me salga 12* 3 = 36
osea las 12 filas de adm, 12 filas de user, 12 filas de inv
aun asi sea null, pero que salga esa especie de matriz

no me sale, lo ize con right join, pero solo me sale las 12 filas de depe nada mas :S no detecta lo de perf


como se puede hacer
  #2 (permalink)  
Antiguo 05/03/2010, 05:01
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Ayuda con consulta

Debes usar RIGHT JOIN o LEFT JOIN, para incluir todos los registros de una de las tablas aunque no tengan correspondencia en la otra.
Lee la documentación de MySql para más detalles
__________________
Mi blog de temas más o menos técnicos

Y aquí el Jamón jamon de Jabugo
  #3 (permalink)  
Antiguo 05/03/2010, 11:23
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 3 meses
Puntos: 2
Respuesta: Ayuda con consulta

si lo hice con right y left, pero me sale solo los datos de la primera tabla:
les explico mejor

en la tabla 1: tengo administrador, usuario, invitado x ejemplo
en la tabla 2: opcion1, opcion2, opcion3, opcion4, opcion5
en la tabla 3: pk doble(pk de tabla 1 y pk de tabla 2), otros datos
lo que quiero es que en la tabla 3 me salga:

administrador - opcion1, otros datos de tabla 3
administrador - opcion2, otros datos de tabla 3
administrador - opcion3, otros datos de tabla 3
administrador - opcion4, otros datos de tabla 3
administrador - opcion5, otros datos de tabla 3
usuario - opcion1, otros datos de tabla 3
usuario - opcion2, otros datos de tabla 3
usuario - opcion3, otros datos de tabla 3
usuario - opcion4, otros datos de tabla 3
usuario - opcion5, otros datos de tabla 3
invitado - opcion1, otros datos de tabla 3
invitado - opcion2, otros datos de tabla 3
invitado - opcion3, otros datos de tabla 3
invitado - opcion4, otros datos de tabla 3
invitado - opcion5, otros datos de tabla 3

no se si me entienden es un 5 * 3, donde salen todos los datos que se puedan conjugar entre las 2 tablas

espero me ayuden, voi dando vueltas a este problema y no logro solucionarlo
  #4 (permalink)  
Antiguo 05/03/2010, 11:45
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Ayuda con consulta

Si quieres que te salga esa información, debes rellenar los pares de valores correspondientes en la tabla intermedia oppe
__________________
Mi blog de temas más o menos técnicos

Y aquí el Jamón jamon de Jabugo
  #5 (permalink)  
Antiguo 05/03/2010, 11:54
 
Fecha de Ingreso: marzo-2009
Mensajes: 356
Antigüedad: 15 años, 1 mes
Puntos: 7
Respuesta: Ayuda con consulta

osea tengo q llenar las tablas con todos los datos que yo quiero. si no no me saldra nada ???
  #6 (permalink)  
Antiguo 05/03/2010, 12:04
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: Ayuda con consulta

Claro, ten en cuenta que estás buscando los registros que haya en la tabla intermedia y luego te traes los de las otras tablas que están relacionados con los primeros.

Resumiendo, debes rellenar la tabla intermedia con todos los pares de valores correctos para que luego los obtengas al hacer la consulta.
__________________
Mi blog de temas más o menos técnicos

Y aquí el Jamón jamon de Jabugo

Etiquetas: Ninguno
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 17:34.