mysql多表查询出现重复数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql多表查询出现重复数据相关的知识,希望对你有一定的参考价值。

CREATE
VIEW `NewView`AS
select distinct client.name,client.lxdh,client.yhzh,client.gzdw,client.jtzz,client.sfz ,jx.sfz,jx.cllx,jx.cph,jx.fdjh,jx.jqxh,jx.gmfs,jx.gmrq,jx.jqjg,jx.xsdw,bd.cph,bd.bxdh,bd.xz,bd.je,bd.ccs,bd.cbgs,bd.dysyr,bd.qbrq,bd.zbrq ,bd.username,bd.addtime ,bd.beiz,bd.bdtype from client,jx,bd where client.sfz=jx.sfz and jx.cph=bd.cph ;会重复出现三条数据,这是怎么回事,怎么解决呢?

我也遇到这样的问题,后来发现是写错了。
错误查询语句

select * from (#@__archives inner join dede_addonshop on #@__archives.typeid=dede_addonshop.typeid) where #@__archives.channel=6 ORDER BY RAND() limit 12
结果是:
运行SQL:select * from (#@__archives inner join dede_addonshop on
#@__archives.typeid=dede_addonshop.typeid) where #@__archives.channel=6
ORDER BY RAND() limit 12,共有9条记录,最大返回100条!记录:1id:4
typeid:6
typeid2:0
sortrank:1370428324
flag:p,a
ismake:1
channel:6
arcrank:0
click:106
money:0
title:3新款 情趣内衣套装制服 女式性感透明诱惑薄纱 齐B紧身睡裙8753
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130605/1-1306051S2150-L.jpg
pubdate:1370428324
senddate:1370428366
mid:1
keywords:齐,薄纱,B,紧身,8753,睡裙,诱惑,透明,套装,情趣内
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:情趣内衣套装制服 女式性感透明诱惑薄
filename:
dutyadmin:1
tackid:0
mtype:0
weight:3
aid:4
body:
3情趣内衣套装制服 女式性感透明诱惑薄

price:99
trueprice:44
brand:黑爵
units:
templet:
userip:127.0.0.1
redirecturl:
iid:11
记录:2id:6
typeid:6
typeid2:0
sortrank:1370575548
flag:p
ismake:1
channel:6
arcrank:0
click:175
money:0
title:2蝶华正品精致印花蕾丝花边女式聚拢型文胸套装
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130607/1-13060G126070-L.jpg
pubdate:1370575548
senddate:1370575620
mid:1
keywords:女式,聚拢型,文胸,套装,花边,蕾丝,正品,精致,印花,蝶华
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:蝶华正品精致印花蕾丝花边女式聚拢型文胸套装
filename:
dutyadmin:1
tackid:0
mtype:0
weight:5
aid:7
body:
测试用的哦1

price:2022
trueprice:1002
brand:美人儿
units:
templet:
userip:127.0.0.1
redirecturl:
iid:24418612187
记录:3id:6
typeid:6
typeid2:0
sortrank:1370575548
flag:p
ismake:1
channel:6
arcrank:0
click:175
money:0
title:2蝶华正品精致印花蕾丝花边女式聚拢型文胸套装
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130607/1-13060G126070-L.jpg
pubdate:1370575548
senddate:1370575620
mid:1
keywords:女式,聚拢型,文胸,套装,花边,蕾丝,正品,精致,印花,蝶华
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:蝶华正品精致印花蕾丝花边女式聚拢型文胸套装
filename:
dutyadmin:1
tackid:0
mtype:0
weight:5
aid:4
body:
3情趣内衣套装制服 女式性感透明诱惑薄

price:99
trueprice:44
brand:黑爵
units:
templet:
userip:127.0.0.1
redirecturl:
iid:11
记录:4id:4
typeid:6
typeid2:0
sortrank:1370428324
flag:p,a
ismake:1
channel:6
arcrank:0
click:106
money:0
title:3新款 情趣内衣套装制服 女式性感透明诱惑薄纱 齐B紧身睡裙8753
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130605/1-1306051S2150-L.jpg
pubdate:1370428324
senddate:1370428366
mid:1
keywords:齐,薄纱,B,紧身,8753,睡裙,诱惑,透明,套装,情趣内
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:情趣内衣套装制服 女式性感透明诱惑薄
filename:
dutyadmin:1
tackid:0
mtype:0
weight:3
aid:7
body:
测试用的哦1

price:2022
trueprice:1002
brand:美人儿
units:
templet:
userip:127.0.0.1
redirecturl:
iid:24418612187
记录:5id:6
typeid:6
typeid2:0
sortrank:1370575548
flag:p
ismake:1
channel:6
arcrank:0
click:175
money:0
title:2蝶华正品精致印花蕾丝花边女式聚拢型文胸套装
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130607/1-13060G126070-L.jpg
pubdate:1370575548
senddate:1370575620
mid:1
keywords:女式,聚拢型,文胸,套装,花边,蕾丝,正品,精致,印花,蝶华
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:蝶华正品精致印花蕾丝花边女式聚拢型文胸套装
filename:
dutyadmin:1
tackid:0
mtype:0
weight:5
aid:6
body:
2蝶华正品精致印花蕾丝花边女式聚拢型文胸套装

price:102
trueprice:36
brand:美人儿
units:
templet:
userip:127.0.0.1
redirecturl:
iid:11110
记录:6id:7
typeid:6
typeid2:0
sortrank:1370575625
flag:p
ismake:1
channel:6
arcrank:0
click:157
money:0
title:1【高校直达】黑爵A5入门级游戏键盘 正品超值键盘 有线键盘 电脑
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130607/1-13060G12I30-L.jpg
pubdate:1370575625
senddate:1370575694
mid:1
keywords:键盘,正品,超值,有线,电脑,游戏,级,直达,黑爵,A5,入
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:测试用的哦
filename:
dutyadmin:1
tackid:0
mtype:0
weight:6
aid:6
body:
2蝶华正品精致印花蕾丝花边女式聚拢型文胸套装

price:102
trueprice:36
brand:美人儿
units:
templet:
userip:127.0.0.1
redirecturl:
iid:11110
记录:7id:7
typeid:6
typeid2:0
sortrank:1370575625
flag:p
ismake:1
channel:6
arcrank:0
click:157
money:0
title:1【高校直达】黑爵A5入门级游戏键盘 正品超值键盘 有线键盘 电脑
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130607/1-13060G12I30-L.jpg
pubdate:1370575625
senddate:1370575694
mid:1
keywords:键盘,正品,超值,有线,电脑,游戏,级,直达,黑爵,A5,入
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:测试用的哦
filename:
dutyadmin:1
tackid:0
mtype:0
weight:6
aid:4
body:
3情趣内衣套装制服 女式性感透明诱惑薄

price:99
trueprice:44
brand:黑爵
units:
templet:
userip:127.0.0.1
redirecturl:
iid:11
记录:8id:4
typeid:6
typeid2:0
sortrank:1370428324
flag:p,a
ismake:1
channel:6
arcrank:0
click:106
money:0
title:3新款 情趣内衣套装制服 女式性感透明诱惑薄纱 齐B紧身睡裙8753
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130605/1-1306051S2150-L.jpg
pubdate:1370428324
senddate:1370428366
mid:1
keywords:齐,薄纱,B,紧身,8753,睡裙,诱惑,透明,套装,情趣内
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:情趣内衣套装制服 女式性感透明诱惑薄
filename:
dutyadmin:1
tackid:0
mtype:0
weight:3
aid:6
body:
2蝶华正品精致印花蕾丝花边女式聚拢型文胸套装

price:102
trueprice:36
brand:美人儿
units:
templet:
userip:127.0.0.1
redirecturl:
iid:11110
记录:9id:7
typeid:6
typeid2:0
sortrank:1370575625
flag:p
ismake:1
channel:6
arcrank:0
click:157
money:0
title:1【高校直达】黑爵A5入门级游戏键盘 正品超值键盘 有线键盘 电脑
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130607/1-13060G12I30-L.jpg
pubdate:1370575625
senddate:1370575694
mid:1
keywords:键盘,正品,超值,有线,电脑,游戏,级,直达,黑爵,A5,入
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:测试用的哦
filename:
dutyadmin:1
tackid:0
mtype:0
weight:6
aid:7
body:
测试用的哦1

price:2022
trueprice:1002
brand:美人儿
units:
templet:
userip:127.0.0.1
redirecturl:
iid:24418612187

后来改认真看了下,改了下
select * from #@__archives left join dede_addonshop on #@__archives.id=dede_addonshop.aid where #@__archives.channel=6 ORDER BY RAND() limit 12

结果就正确了
运行SQL:select * from #@__archives left join dede_addonshop on
#@__archives.id=dede_addonshop.aid where #@__archives.channel=6 ORDER BY
RAND() limit 12,共有3条记录,最大返回100条!记录:1id:4
typeid:6
typeid2:0
sortrank:1370428324
flag:p,a
ismake:1
channel:6
arcrank:0
click:106
money:0
title:3新款 情趣内衣套装制服 女式性感透明诱惑薄纱 齐B紧身睡裙8753
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130605/1-1306051S2150-L.jpg
pubdate:1370428324
senddate:1370428366
mid:1
keywords:齐,薄纱,B,紧身,8753,睡裙,诱惑,透明,套装,情趣内
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:情趣内衣套装制服 女式性感透明诱惑薄
filename:
dutyadmin:1
tackid:0
mtype:0
weight:3
aid:4
body:
3情趣内衣套装制服 女式性感透明诱惑薄

price:99
trueprice:44
brand:黑爵
units:
templet:
userip:127.0.0.1
redirecturl:
iid:11
记录:2id:7
typeid:6
typeid2:0
sortrank:1370575625
flag:p
ismake:1
channel:6
arcrank:0
click:157
money:0
title:1【高校直达】黑爵A5入门级游戏键盘 正品超值键盘 有线键盘 电脑
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130607/1-13060G12I30-L.jpg
pubdate:1370575625
senddate:1370575694
mid:1
keywords:键盘,正品,超值,有线,电脑,游戏,级,直达,黑爵,A5,入
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:测试用的哦
filename:
dutyadmin:1
tackid:0
mtype:0
weight:6
aid:7
body:
测试用的哦1

price:2022
trueprice:1002
brand:美人儿
units:
templet:
userip:127.0.0.1
redirecturl:
iid:24418612187
记录:3id:6
typeid:6
typeid2:0
sortrank:1370575548
flag:p
ismake:1
channel:6
arcrank:0
click:175
money:0
title:2蝶华正品精致印花蕾丝花边女式聚拢型文胸套装
shorttitle:
color:
writer:
source:未知
litpic:/uploads/allimg/130607/1-13060G126070-L.jpg
pubdate:1370575548
senddate:1370575620
mid:1
keywords:女式,聚拢型,文胸,套装,花边,蕾丝,正品,精致,印花,蝶华
lastpost:0
scores:0
goodpost:0
badpost:0
notpost:0
description:蝶华正品精致印花蕾丝花边女式聚拢型文胸套装
filename:
dutyadmin:1
tackid:0
mtype:0
weight:5
aid:6
body:
2蝶华正品精致印花蕾丝花边女式聚拢型文胸套装

price:102
trueprice:36
brand:美人儿
units:
templet:
userip:127.0.0.1
redirecturl:
iid:11110

希望对你有用。
参考技术A 就你贴这个B代码,谁看得明白? 参考技术B 你的数据是从3个表中取出来的? 参考技术C 是不是这三条数据有某个字段值不一样没发现啊,应该不会出现这种bug吧

MySQL--多表查询

  多表查询

使用多表关联查询的原因:查询的数据发布在多个表里

合并结果集

   合并结果集就是把两个select语句的查询结果合并到一起,结果集就是一个表格

两种方式:

  UNION:去掉重复记录

    如:select * from t1 union select * from t2;

  UNION ALL:不去除重复记录

    如:select * from t1 union all select * from t2;

要求:被合并的两个结果:列数必须相同

 

内连接

  语法1

    select 列名 from 表一, 表二 where 1.列名 条件运算符 表2.列名[and 条件] [order by 排序列];

  语法2

    select 列名 from 表一 inner join 表二 on 1.列名 条件运算符 表2.列名[where 条件][order by 排序列];

  语法3

    select 列名 from 1 natural join 2;

 

  步骤:

    1.   列出查询字段
    2.   观察查询字段在哪些表中
    3.   提取各表的公共字段
    4.   分析条件 

外连接:

  左外连接:

  语法:

    Select 列名 from 左表 left join 右表 on 左表.列名 条件运算符 右表.列名 [where 条件][order by 排序列];

  含义:

    左外连接是以左表为主表,去关联右表(从表),结果集中包括主表所有数据行,如果主表的某行在从表中没有匹配时,则从表的选择列为null

    select * from 表一 别名一 natural left outer join 2 别名2;

  右外连接:

  语法:  

    select 列名 from 左表 right join 右表 on 左表.列名 条件运算符 右表.列名 [where 条件] [order by 排序列];

  含义:

    右外连接是以右表为主表,去关联左表(从表),结果集中包含主表所有数据行,如果主表的某行在从表中没有匹配行时,则从表的选择列为null

    select * from 表一 别名 natural right outer join 表二 别名二;

  全外连接:

  语法:

    select 列名 from 左表 full [outer] join 右表 on 左表.列名 条件运算符 右表.列名 [where 条件] [order by 排序列]

  含义:

    完全连接左表和右表中所有行,当某行数据在另一个表中没有匹配时,则另一个表的选择列值为null

 

子查询

    概念:

       子查询就是嵌套查询,即select中包含select,如果一条语句中存在两个,或两个以上select,那么就是子查询语句了

    子查询出现的位置:

       where后,作为条件的一部分

       From后,作为被查询的一条表

    子查询结果集的形式:

      单行单列:select * from 表一 别名一 where 列一[=><>=<=!=](select from 表二 别名二 where 条件);

      多行单列:select * from 表一 别名一where 列一[IN,All,ANY](select from 表二 别名二 where 条件);

      单行多列:select * from 表一 别名一where (列一, 列二) in select 1, 2 from 2 别名2 where 条件);

      多行多列:select * from 1 别名1, (select) 别名2 where 条件;

以上是关于mysql多表查询出现重复数据的主要内容,如果未能解决你的问题,请参考以下文章

MySQL--多表查询

用sql语句进行多表连接查询出现重复数据

sql leftjoin多表查询,出现重复的数据,怎么办

MySQL多表联合查询过滤重复数据怎么写

MySQL多表查询数据出现串行

MySQL的约束多表查询子查询