Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/11/2009, 16:56
Avatar de gnzsoloyo
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, 1 mes
Puntos: 2658
Respuesta: Error en group_concat (separator " - ")

Prueba así:
Código sql:
Ver original
  1. SELECT
  2.     d.nom_disco,
  3.     group_concat(b.nom_beb separator ' - ')  bebidas
  4. FROM discoteca d
  5.     INNER JOIN bebidas_discoteca bd USING(nit_disco)
  6.     INNER JOIN bebidas b USING(cod_beb);

Cosas a tener en cuenta:
- Las relaciones entre tablas se realizan por medio de JOIN, con todas sus variantes, y la cláusula ON. No en el WHERE. La razón es simple: las relaciones establecidas en el FROM son optimizables por el DBMS, las del WHERE no.
- Si se usa INNER JOIN entre dos tablas, sólo devolverá los registros que contengan coincidencias, si se quiere incluir los que no coinciden, hay que usar LEFT JOIN o RIGHT JOIN.
- Si se realiza un INNER JOIN entre tres tablas, devolverá datos si hay coincidencia en las tres si o sí. Si existe una relación parcial, no la devolverá; hay que usar LEFT JOIN o RIGHT JOIN.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)