以下是引用打错潇洒在2015/3/27 8:39:00的发言:
select a.FID,
a.fnumber as customerNumber,
a.fname_l2 as customerName,
son.fname_l2 as personname
f rom t_bd_customer a
left join T_BD_Region on T_BD_Region.fid = a.fregionid
left join t_bd_customersaleinfo fo on fo.fcustomerid = a.fid
left join t_bd_customersaler ler on ler.fcustomersaleid = fo.fid
left join t_bd_person son on son.fid = ler.fpersonid
where 1 = 1
and (a.FBrowseGroupID = 'jPJnAQEUEADgAc3iwKgCZ3olaaI=')
and a.fname_l2 not like '%成品箱%'
order by a.fnumber
(请问 大神们 上述SQL 什么意思)
以上的SQL 比较复杂
其实以上SQL已经算简单了,只是简单的表间关联,目的就是为了获得 son.fname_l2 as personname 这列。
因为是外连接,防止了不存在关联时,没有显示t_bd_customer a 表的数据。
在复杂业务的情况下 复杂的SQL会引发难以维护的结果 N多表的关联
多表关联复杂度确实有,但表结构设计的好,可以降低很多维护成本,特别是数据冗余。
狐表在这方面有什么好的建议与方法 尽量降低维护度
做成视图,当成查询表调用即可