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

Ayuda con consulta

Estas en el tema de Ayuda con consulta en el foro de PostgreSQL en Foros del Web. Tengo la siguiente consulta: Código: select gr.*, prov.razonsocialp, tra.razonsocialt, con.nlicencia, per.nombres, veh.marca, from compra.guiaremision gr, admin.proveedor prov, admin.transporte tra, admin.persona per, admin.conductor con, admin.vehiculo veh ...
  #1 (permalink)  
Antiguo 09/10/2010, 14:26
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 5 meses
Puntos: 43
Ayuda con consulta

Tengo la siguiente consulta:
Código:
select gr.*, 
	prov.razonsocialp,
	tra.razonsocialt,
	con.nlicencia,
	per.nombres,
	veh.marca,
	from compra.guiaremision gr,
	admin.proveedor prov,
	admin.transporte tra,
	admin.persona per,
	admin.conductor con,
	admin.vehiculo veh

	where gr.idseriegr = '001' and  gr.idguiarem = '001' and  gr.idproveedor = '12345' and gr.idproveedor = prov.idproveedor and gr.idtransporte=tra.idtransporte and gr.idconductor=con.idconductor and gr.idvehiculo=veh.idvehiculo and con.idpersona=per.idpersona;
Quisiera saber si hay alguna forma de optimizar esta consulta, por ahora trabaja bien pero tengo temor de que se ponga lenta.

Gracias
  #2 (permalink)  
Antiguo 10/10/2010, 19:48
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Ayuda con consulta

Utiliza sntencias JOIN.
La relación de tablas en la consulta que utilizas está basado en SQL92 que si bien es soportado, ya son obsoletas en nuevas versiones. Las sentencias JOIN son producto de SQL99 y de SQL2003 las han mejorado bastante por lo que de seguro estará mucho mejr tu consulta.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 11/10/2010, 07:25
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 5 meses
Puntos: 43
Respuesta: Ayuda con consulta

Estuve viendo un poco, pero no encuentro un ejemplo con mas de 3 o 4 tablas, con sentencias JOIN. Por favor solo un ejemplo, gracias.
  #4 (permalink)  
Antiguo 11/10/2010, 12:26
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Ayuda con consulta

sería algo así

Código SQL:
Ver original
  1. SELECT gr.*,
  2.     prov.razonsocialp,
  3.     tra.razonsocialt,
  4.     con.nlicencia,
  5.     per.nombres,
  6.     veh.marca,
  7. FROM
  8.     compra.guiaremision gr
  9.     INNER JOIN
  10.     admin.proveedor prov
  11.     ON
  12.     gr.idproveedor = prov.idproveedor
  13.     INNER JOIN
  14.     admin.transporte tra
  15.     ON
  16.     gr.idtransporte=tra.idtransporte
  17.     INNER JOIN
  18.     admin.conductor con
  19.     ON
  20.     gr.idconductor=con.idconductor
  21.     INNER JOIN
  22.     admin.persona per
  23.     ON
  24.     con.idpersona=per.idpersona
  25. WHERE
  26.  
  27.     gr.idseriegr = '001'
  28.     AND
  29.     gr.idguiarem = '001'
  30.     AND
  31.     gr.idproveedor = '12345'

Pruebala y nos cuentas
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 11/10/2010, 14:29
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 5 meses
Puntos: 43
Respuesta: Ayuda con consulta

gracias huesos52 funciona a la perfección y el tiempo de respuesta es más rápido.

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 11:44.