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

Problema para realizar una consulta

Estas en el tema de Problema para realizar una consulta en el foro de Mysql en Foros del Web. Hola a todos! les cuento que tengo que realizar una consulta para sacar un listado y no se cómo hacerla. Tengo varias tablas de las ...
  #1 (permalink)  
Antiguo 19/11/2011, 09:10
 
Fecha de Ingreso: octubre-2009
Mensajes: 107
Antigüedad: 14 años, 5 meses
Puntos: 2
Problema para realizar una consulta

Hola a todos! les cuento que tengo que realizar una consulta para sacar un listado y no se cómo hacerla.
Tengo varias tablas de las cuales necesito que me devuelva estos datos:
id | autor principal nº1
El tema es que yo puedo tener más de un autor principal que lo saco de una tabla llamada libroautor, donde está formada por el idLibro | idAutor | autoría . Por ejemplo, así:
idLibro | idAutor | autoría
1 58 pcipal
1 205 pcipal
1 3 pcipal
Es decir, son tres autores principales de un mismo libro (todos son igual de importantes, pero tienen un orden de carga en la base de datos que me debería indicar cuál quiero mostrar primero, en mi ejemplo el de idAutor=58).
En el caso del informe que quiero hacer, sólo necesito poner un autor principal, es decir, el que primero cargué. Mi problema es que, cuando hago la consulta, me muestra el idAutor principal con menor id, es decir, en mi ejemplo el de idAutor=3, pero yo quiero que me muestre el 58. No se como hacerlo!! Mi tabla libroautor no tiene un campo que indique el orden de autor de una misma autoría, ni nada más de lo que les mostré arriba. Pensé que me iba a devolver en la consulta el primero cargado, pero no lo hace.
La consulta que hago es:
Código:
SELECT libro.id, autor.id FROM libroautor INNER JOIN libro ON libro.id=libroautor.idLibro INNER JOIN autor ON libroautor.idAutor = autor.id group by libro.id order by libro.titulo
Si le saco el group by libro.id, me muestra todas las filas de los distintos autores de un mismo libro, respetando el orden de carga en la tabla. Pero no se cómo hacer para tomar sólo la primer fila de cada libro. o sino cómo hacer que, por cada libro, me aparezca los autores principales en columnas, no filas .

No se si me habré expresado bien, espero que si!
Les agradezco desde ya me ayuden ya que esto es muy importante para mi porque no logro salir de este problema.

Etiquetas: join, select, tabla
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 16:12.