SQL多条件查询问题

Cookie的源码世界 2011-03-30 10:40:50
现有四张条

客户表,用户表,订单表,订单明细表(产品明细) ,因为在查询的时候会查询到订单明细中的字段,所以一定要关联到订单明细表

订单表数据:
OR201103011-001
OR201103011-002
OR201103011-004
OR201103011-005


以订单表为主表:

订单表 INNER JOIN 用户表 ON 订单表.用户ID=用户表.用户ID INNER JOIN 客户表 ON 订单表.客户ID=客户表.客户ID INNER JOIN 订单明细表 ON 订单表.订单ID=订单明细表.订单ID"


这个时候输入的结果是:

订单号

OR201103011-001 (有重复,因为此订单号下面有多条订单明细)
OR201103011-001 (有重复,因为此订单号下面有多条订单明细)
OR201103011-002
OR201103011-003
OR201103011-004
OR201103011-005

我要的结果是

订单号
OR201103011-001
OR201103011-002
OR201103011-004
OR201103011-005


请各位看看,怎么实现?谢谢大家了.



...全文
407 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
pt1314917 2011-03-30
  • 打赏
  • 举报
回复
顶5楼兄弟的。。。光贴这个语句没什么用。
首先要知道自己想返回什么样的结果。。。需不需要订单明细表的字段,写语句时完全不一样的。
不是都能加个distinct就能解决的。
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 fengyun817 的回复:]
楼主清楚自己想要什么吗?
如果只想要订单号,那只查询订单主表。
如果还要其它信息,那在关联细表(或者其他表,关联记录不唯一时)就必然会出现多条记录的情况
这时候distinct是没用的。
比如要查询订单及数量(可能还有商品)
---订单号------ --数量---
OR201103011-001 1
OR201103011-001 2
OR201103011-002 2
OR2……
[/Quote]

你这个肯定不行
fengyun817 2011-03-30
  • 打赏
  • 举报
回复
楼主清楚自己想要什么吗?
如果只想要订单号,那只查询订单主表。
如果还要其它信息,那在关联细表(或者其他表,关联记录不唯一时)就必然会出现多条记录的情况
这时候distinct是没用的。
比如要查询订单及数量(可能还有商品)
---订单号------ --数量---
OR201103011-001 1
OR201103011-001 2
OR201103011-002 2
OR201103011-004 4
OR201103011-005 5
这个结果是正确的。但不是你需要的

OR201103011-001
OR201103011-002
OR201103011-004
OR201103011-005

如果你只需要
OR201103011-001
OR201103011-002
OR201103011-004
OR201103011-005
那就
select 订单号 from 订单主表 就可以了。
lyhmy 2011-03-30
  • 打赏
  • 举报
回复
加到select 后面就行了 select distinct 后面的跟你的之前的语句一样就可以
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lyhmy 的回复:]
加一个关键字distinct 去除重复项啊
[/Quote]

加到什么地方?
alexwuphp 2011-03-30
  • 打赏
  • 举报
回复
用 distinct

select distinct 字段 from 表

http://www.204080.com/index-33.html
有sql教程
lyhmy 2011-03-30
  • 打赏
  • 举报
回复
加一个关键字distinct 去除重复项啊

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧