读书人

如何小弟我查询的时候老是查询出重复数

发布时间: 2012-07-29 15:26:14 作者: rapoo

怎么我查询的时候老是查询出重复数据?
表firesystype、devicetype、devices
firesystype与devicetype一对多,devicetype与devices 一对多


select firesystype.tiSysType,firesystype.vSysdesc from firesystype left join devicetype on firesystype.tiSysType=devicetype.tiSysType left join devices on devicetype.tiDeviceType=devices.tiDeviceType left join gateway on gateway.Gatewayaddress=devices.Gatewayaddress where gateway.orgid='201201020100009'

查询的结果:
129火灾自动报警系统
129火灾自动报警系统
22消防应急照明和疏散指示系统
135灭火器
22消防应急照明和疏散指示系统
129火灾自动报警系统
22消防应急照明和疏散指示系统
135灭火器
。。。。。。。。。。。。。。。。。。。。。。。。。。。。都重复了、

[解决办法]

SQL code
--加 distinct 过滤掉重复的select distinct firesystype.tiSysType,firesystype.vSysdesc from firesystype left join devicetype on firesystype.tiSysType=devicetype.tiSysType left join devices on devicetype.tiDeviceType=devices.tiDeviceType left join gateway on gateway.Gatewayaddress=devices.Gatewayaddress where gateway.orgid='201201020100009'
[解决办法]
firesystype left join devicetype on firesystype.tiSysType=devicetype.tiSysType
left join devices on devicetype.tiDeviceType=devices.tiDeviceType
left join gateway on gateway.Gatewayaddress=devices.Gatewayaddress

在于这里,四个表,按照关联条件查出来的数据应该有重复的,就是说其中有可能存在 一对多 的情况

读书人网 >SQL Server

热点推荐