四个表连接问题:
主表:t_jcd
从表:t_dgwx,t_dgcl,t_dgqtfy 主表肯定要有数据,从表,有可能某一个有,或某二个有,或全部有 要求:一个主表,三个从表,我想将四个表中所有东西都显示 ,请教?现在我是用左连接就会很多重复的,假如,一个表有三条,另一个表有7表,做个左连接就21条四个表连接,好多数据重复显示 ,请教,如何实现?我是用视图创建的
主表:t_jcd
从表:t_dgwx,t_dgcl,t_dgqtfy 主表肯定要有数据,从表,有可能某一个有,或某二个有,或全部有 要求:一个主表,三个从表,我想将四个表中所有东西都显示 ,请教?现在我是用左连接就会很多重复的,假如,一个表有三条,另一个表有7表,做个左连接就21条四个表连接,好多数据重复显示 ,请教,如何实现?我是用视图创建的
最好给出完整的表结构,测试数据,计算方法和正确结果.发帖注意事项
http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
from t_jcd a
left join t_dgwx b.id=a.id
left join t_dgcl c.id=a.id
left join t_dgqtfy d.id =a.id从表中有多条 主表的数据就会重复
建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx ... 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。
数据如下:
t_tcd 表:字段:p_dh,p_cp,p_cxid20091201,粤E123,丰田t_dgwx表,字段:p_dh,p_wxxmid20091201,补胎
20091201,打腊
20091201,换机油
t_dgcl表,字段:p_dh,p_c120091201,原厂机油
20091201,机油格显示
t_jcd.p_dh , t_jcd.p_cp , t_jcd.p_cxid , t_dgwx.p_wxxmid, t_dgcl.p_c120091201,粤E123,丰田,补胎,原厂机油
打腊,机油格
换机油,
要求显示
t_jcd.p_dh , t_jcd.p_cp , t_jcd.p_cxid , t_dgwx.p_wxxmid, t_dgcl.p_c120091201,粤E123,丰田,补胎,原厂机油
20091201,粤E123,丰田,打腊,机油格
20091201,粤E123,丰田,换机油
这样的语句
SELECT t_jcd.p_dh ,
t_jcd.p_cp ,
t_jcd.p_cxid ,
t_dgwx.p_wxxmid,
t_dgcl.p_c1
FROM t_jcd join t_dgwx on t_jcd.p_dh = t_dgwx.p_dh
left join t_dgcl on t_jcd.p_dh = t_dgcl.p_dh
go,就显示,6行了,变成很多复杂的,请指教