relacionar dos tablas.

relacionar dos tablas.

Postby kpidata » Wed Oct 11, 2017 2:17 pm

Estimados amigos, como puedo realizar lo siguiente en Mysql.

Así lo hago en DBF, en donde los archivos Vta_Cot1 se relaciona con Tab_Cte, por el campo común entre ellos rut_cte..

Set Relation to Vta_Cot1->Cte_Cot into Tab_Cte

oCol2 := oBrw2:AddCol()
oCol2:bStrData := { || Transform(Vta_Cot1->Nro_Cot,"99-99-999") }
oCol2:cHeader := "Cotizacion"

oCol2 := oBrw2:AddCol()
oCol2:bStrData := { || Tab_Cte->Raz_Cte }
oCol2:cHeader := "Nombre Cliente"
kpidata
 
Posts: 80
Joined: Tue Jul 26, 2016 9:52 pm

Re: relacionar dos tablas.

Postby wmormar » Wed Oct 11, 2017 2:20 pm

SELECT a.*, b.* FROM vta_cot1 as A INNER JOIN tab_cte AS b ON b.rut_ce = a.rut_ce
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1073
Joined: Fri Oct 07, 2005 10:41 pm
Location: México

Re: relacionar dos tablas.

Postby kpidata » Wed Oct 11, 2017 2:36 pm

Te agradezco la respuesta..

pero la hago mas difícil... si antes debo hacer esto..

cVta_Cot1:=xServer:Query("SELECT * FROM vta_cot1 WHERE nro_cot >='"+Str(cFolio1)+"' and nro_cot<='"+Str(cFolio1)+"' ORDER BY nro_cot")
que era lo que hacia con

Select 90
Set Order to 1
Vta_Cot1->(OrdScope(0, cFolio1 ))
Vta_Cot1->(OrdScope(1, cFolio2 ))
go top

y aca recien realizaba... el set relation...


mis diculpas... estoy recien viendo Mysql.. y aunque he estudiado el tema aun me cuesta visualizarlo... ahh estoy trabajando con tdolphin..

Atte.,
kpidata
 
Posts: 80
Joined: Tue Jul 26, 2016 9:52 pm

Re: relacionar dos tablas.

Postby wmormar » Wed Oct 11, 2017 2:40 pm

cVta_Cot1:=xServer:Query("SELECT a.*, b.* FROM vta_cot1 AS a INNER JOIN tab_cte AS b ON b.rut_ce = a.rut_ce WHERE a.nro_cot >='"+Str(cFolio1)+"' and a.nro_cot<='"+Str(cFolio1)+"' ORDER BY a.nro_cot")
William, Morales
Saludos

méxico.sureste
User avatar
wmormar
 
Posts: 1073
Joined: Fri Oct 07, 2005 10:41 pm
Location: México

Re: relacionar dos tablas.

Postby kpidata » Wed Oct 11, 2017 3:38 pm

Te pasaste... amigo gracias...
kpidata
 
Posts: 80
Joined: Tue Jul 26, 2016 9:52 pm

Re: relacionar dos tablas.

Postby carlos vargas » Wed Oct 11, 2017 5:21 pm

solo algunas consideraciones.
Code: Select all  Expand view
cVta_Cot1:=xServer:Query("SELECT a.*, b.* FROM vta_cot1 AS a INNER JOIN tab_cte AS b ON b.rut_ce = a.rut_ce WHERE a.nro_cot >='"+Str(cFolio1)+"' and a.nro_cot<='"+Str(cFolio1)+"' ORDER BY a.nro_cot")


en este caso, el indicar que te traeras todos los campos de la tabla a, y todos los campos de la tabla b en la consulta no es lo mejor, ni lo mas indicado. mas incluso si hay campos del mismo nombre en ambas tablas, por lo que deberas tener el cuidado de realizar el cambio de nombre en la consulta.
lo adecuado es especificar cuales columnas te traeras, y en caso de que existan columnas con nombre iguales en ambas tablas deberas usar " field as fielname", por ejemplo
Code: Select all  Expand view
cVta_Cot1:=xServer:Query("SELECT a.nro_cot, a.code, a.name, a.age, a.dob, b.code as othername, b.address, b.city, c.state FROM vta_cot1 AS a INNER JOIN tab_cte AS b ON b.rut_ce = a.rut_ce WHERE a.nro_cot >='"+Str(cFolio1)+"' and a.nro_cot<='"+Str(cFolio1)+"' ORDER BY a.nro_cot")


y eso que asumimos que por cada fila de datos en b debe haber una fila de datos en a. por que dbf en algunas ocaciones no es asi. para esos casos en sql deberas usar outer join, left join, rigth join.

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1680
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: relacionar dos tablas.

Postby joseluisysturiz » Wed Oct 11, 2017 11:36 pm

Lo mejor seria usar LEFT JOIN, ya que el INNER seria mas que todo para unirla, te recomiendo que uses algun administrador de base de datos...como NAVICAT, HeidiSQL, phpMyAdmin, etc, con el asistente para hacer tus concultas, asi puedes ver en linea que informacion te saldra del listado y luego simplemente copias tu sentencia a tu codigo, cualquier duda o consulta, por aca andamos, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 13 guests