Igualaciones

From: "Miguel Angel (dot)" <rev_angel(at)hotmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Igualaciones
Date: 2006-10-23 18:18:41
Message-ID: BAY116-F24D902C96A28B045729A6690000@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

<html><div style='background-color:'><DIV class=RTE>Qué tal tengo esta duda:</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>Yo tengo dos bases de datos, diferentes una es PostgreSQL y la otra es SQL Server 2000, yo he estado haciendo querys en ambas bases similares a estos:</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>-- PostgreSql</DIV>
<DIV class=RTE>SELECT DISTINCT ON(act_id) act_id::integer, con_id::integer FROM tablaA INNER JOIN tablaB &nbsp;USING(con_id) ORDER BY act_id;</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>--SQL Server</DIV>
<DIV class=RTE>
<DIV class=RTE>SELECT&nbsp;act_id, con_id FROM tablaA a&nbsp;INNER JOIN tablaB b&nbsp;ON a.con_id=b.con_id GROUP BY &nbsp;act_id, con_id&nbsp;ORDER BY act_id, con_id;</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>Y mediante estos dos obtengo los mismos resultados, he ejecutado estos dos en postgres para comparar los resultados y son identicos. Pero este método no me resulta cuando hay dos claves únicas:</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>--PostgreSql</DIV>
<DIV class=RTE>
<DIV class=RTE>SELECT DISTINCT ON(act_id) act_id::integer, addr_id::integer, con_id::integer FROM&nbsp;(SELECT DISTINCT ON(act_id) act_id, con_id FROM tablaA) AS Uno INNER JOIN&nbsp;&nbsp;(SELECT DISTINCT ON(addr_id) addr_id, con_id FROM tablaB) AS Dos USING(con_id) USING(con_id) ORDER BY act_id;</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>
<DIV class=RTE>--SQL Server</DIV>
<DIV class=RTE>
<DIV class=RTE>SELECT&nbsp;act_id, addr_id, con_id FROM&nbsp;(SELECT&nbsp;act_id, con_id FROM tablaA GROUP BY act_id, con_id) AS Uno INNER JOIN&nbsp;(SELECT&nbsp;addr_id, con_id FROM tablaB GROUP BY addr_id, con_id) AS Dos&nbsp; ON Uno.con_id=Dos.con_id ORDER BY act_id;</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>Aquí los resultados son diferentes, yo necesito obtener valores únicos en este caso la columna act_id, debe ser única por ello no uso el comando DISTINCT ya que si entiendo bien este evalua la fila entera no la columna como lo hace DISTINCT ON, por ello agrupo los valores para obtener un efecto igual a DISTINCT ON.</DIV>
<DIV class=RTE>&nbsp;</DIV>
<DIV class=RTE>Me puedan dar alguna sugerencia de como poder ejecutar estos querys en las distintas bases de datos obteniendo los mismos resultados.</DIV></DIV></DIV></DIV></DIV></div><br clear=all><hr>Busca a la vez en Internet, en directorios, en enciclopedias... <a href="http://g.msn.com/8HMBESES/2740??PS=47575" target="_top">Atrévete con el nuevo MSN Search</a> </html>

Attachment Content-Type Size
unknown_filename text/html 2.5 KB

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message luis garcia 2006-10-23 18:50:48 Problemas con Template1...
Previous Message Miguel Ortega 2006-10-23 17:29:28 Shared Buffers