下面是我的sql语句,我想实现多表查询
select DBSaaS.TPartnerShip.*,DBSaaS.tfield.tf_name,DBSaaS.tprovince.tp_name,DBSaaS.tarea.ta_name
from
DBSaaS.tpartnerpos
inner join DBSaaS.TPartnerShip ,
DBSaaS.tprovince
inner join DBSaaS.tarea ,
DBSaaS.tarea
inner join DBSaaS.TPartnerShip
on
DBSaaS.TPartnerShip.tf_id = DBSaaS.tfield.tf_id
on
DBSaaS.tprovince.tp_id = DBSaaS.tarea.tp_id
on
DBSaaS.TPartnerShip.ta_id= DBSaaS.tarea.ta_id 不知道为什么出错,请大虾帮帮忙
select DBSaaS.TPartnerShip.*,DBSaaS.tfield.tf_name,DBSaaS.tprovince.tp_name,DBSaaS.tarea.ta_name
from
DBSaaS.tpartnerpos
inner join DBSaaS.TPartnerShip ,
DBSaaS.tprovince
inner join DBSaaS.tarea ,
DBSaaS.tarea
inner join DBSaaS.TPartnerShip
on
DBSaaS.TPartnerShip.tf_id = DBSaaS.tfield.tf_id
on
DBSaaS.tprovince.tp_id = DBSaaS.tarea.tp_id
on
DBSaaS.TPartnerShip.ta_id= DBSaaS.tarea.ta_id 不知道为什么出错,请大虾帮帮忙
这种格式试试
from DBSaaS.tpartnerpos DBSaaS.tprovince
on DBSaaS.TPartnerShip.tf_id = DBSaaS.tfield.tf_id
inner join DBSaaS.tarea ,DBSaaS.tarea
on DBSaaS.tprovince.tp_id = DBSaaS.tarea.tp_id
inner join DBSaaS.TPartnerShip
on DBSaaS.TPartnerShip.ta_id= DBSaaS.tarea.ta_id
这样写清晰一些,但DBSaaS后面是列名吧,但from DBSaaS.tpartnerpos DBSaaS.tprovince 这里的DBSaaS后面跟着的是什么?from 后面只有表名吧。为什么不把表名用简单的别名代替啊!这样看着你写的代码太乱了!
tpartnerpos这个表在哪里?根本没用到还往上写?
为什么还使用数据库名字?
为什么表不用别名?
select ts.*,tf.tf_name ,tp.tf_name,ts.tf_name
from DBSaaS.TPartnerShip ts
inner join DBSaaS.tfield tf
on ts.tf_id =tf.tf_id
inner join DBSaaS.tprovince tp
on tf.tf_id=tp.tp_id
inner join DBSaaS.tarea ta
on tp.tp_id=ta.tp_id and ts.ta_id=ta.ta_id
from DBSaaS.TPartnerShip ts
inner join DBSaaS.tfield tf
on ts.tf_id =tf.tf_id
inner join DBSaaS.tprovince tp
on tf.tf_id=tp.tp_id
inner join DBSaaS.tarea ta
on tp.tp_id=ta.tp_id and ts.ta_id=ta.ta_id
from DBSaaS.TPartnerShip ts
inner join DBSaaS.tfield tf
on ts.tf_id =tf.tf_id
inner join DBSaaS.tprovince tp
on tf.tf_id=tp.tp_id
inner join DBSaaS.tarea ta
on tp.tp_id=ta.tp_id and ts.ta_id=ta.ta_id