Ver Mensaje Individual
  #11 (permalink)  
Antiguo 15/10/2006, 20:52
latin.developer
 
Fecha de Ingreso: mayo-2005
Mensajes: 55
Antigüedad: 18 años, 11 meses
Puntos: 1
Nada, me sigue dando el mismo error al ponerle el ORDER BY. Y probé poniendo un DISTINCT luego de cada SELECT y solo NO duplica los registros de cada SELECT (como era de suponerse). No entiendo porque no funcionan los UNION evitando la duplicacion. A continuación el código mas completo:

$sql="(SELECT
p.*,
i.IDproduccion, i.IDartista,
a.IDartista, a.Nombre
FROM produccion p, interprete i, artista a
WHERE (i.IDproduccion=p.IDproduccion AND a.IDartista=i.IDartista) AND
(p.titulo like '%$p_search_g%' OR p.informacion like '%$p_search_g%' OR a.Nombre like '%$p_search_g%'))

UNION

(SELECT
p.*,
pda.IDproduccion, pda.IDproductor,
pr.IDproductor, pr.productor
FROM produccion p, producida pda, productor pr
WHERE (pda.IDproduccion=p.IDproduccion AND pda.IDproductor=pr.IDproductor) AND
(pr.productor like '%$p_search_g%'))

UNION

(SELECT
p.*,
cta.IDproduccion, cta.IDcompositor,
c.IDcompositor, c.Apellido
FROM produccion p, compuesta cta, compositor c
WHERE (cta.IDproduccion=p.IDproduccion AND cta.IDcompositor=c.IDcompositor) AND
(c.Apellido like '%$p_search_g%'))
ORDER BY p.IDproduccion";
?>

<br />
<?

$result = mysql_query($sql);
$num_reg_total = mysql_num_rows($result);
?>