distinct失效。。,急用大家帮一下。。要的结果不返回重复数据

langson 2007-08-22 08:23:48
SELECT distinct a.Quote_Nclass_ID, a.Quote_ID,a.Quote_Title,a.Quote_T_Color,a.Quote_T_Type,b.Nquote_Name from Quote_News_Table as a , Nquote_Table as b where a.Quote_Class_ID = b.Nquote_Q_ID AND a.Quote_Class_ID = 7


返回的结果是:
Quote_Nclass quote_Class_ID Quote_Title Quote_T_Type Nquote_Name

10 8 werwrewer 0 铁
10 8 werwrewer 0 钢
10 8 werwrewer 0 锌/铅
10 9 wrerweer 0 不锈钢
11 7 wrerweer 0 钢
11 7 wrerweer 0 铝


这是正确的结果:(但我加上其它字段)
select distinct a.Quote_Nclass_ID from Quote_News_Table as a , Nquote_Table as b where a.Quote_Class_ID = b.Nquote_Q_ID AND a.Quote_Class_ID = 7

Quote_Nclass_ID
10
11
12
13
14
15
16
17

如果加上 a.Quote_ID,a.Quote_Title,a.Quote_T_Color,a.Quote_T_Type,b.Nquote_Name
查询出来的结果就不正确,有重复。
请问一下。应该怎么修改?
...全文
829 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxqianqin 2007-08-24
  • 打赏
  • 举报
回复
group by
應該 也不滿足LZ的要求的了
anison 2007-08-23
  • 打赏
  • 举报
回复
不太明白楼主的意思
anison 2007-08-23
  • 打赏
  • 举报
回复
我想要的效果如这个例子,楼上可能误会的想要效果了。
table表 A B C
1 2 3
1 2 2
2 3 4
2 1 2
-------------
请问你最后要显示的结果是什么?
因为Distinct(A)有1,2;都分别有两条记录
比如1有1,2,3和1,2,2你要显示哪一条呢?
langson 2007-08-23
  • 打赏
  • 举报
回复
distinct 作用于 select 字段列表中所有字段的组合,而不是仅作用于第一个字段,所以我要用的效果一定只能使用group by的写法。。我先试试
rfq 2007-08-23
  • 打赏
  • 举报
回复
查询结果没错,distinct 所有字段
fa_ge 2007-08-23
  • 打赏
  • 举报
回复
select a ,max(b)as b , max(c) as c from t group by a
langson 2007-08-23
  • 打赏
  • 举报
回复

如:

a b c
1 1 2
2 2 3
3 2 3
3 1 2


需要返回结果。。

a b c
1 1 2
2 2 3
3 2 3



sp4 2007-08-23
  • 打赏
  • 举报
回复
LZ 的distinct 理解有问题,呵呵
langson 2007-08-22
  • 打赏
  • 举报
回复
ruihuahan(飞不起来的笨鸟)
distinct 作用于 select 字段列表中所有字段的组合,而不是仅作用于第一个字段。
请有什么好的代替写法? 请问一下用group by怎么写呢
langson 2007-08-22
  • 打赏
  • 举报
回复
我想要的效果如这个例子,楼上可能误会的想要效果了。
table表 A B C
1 2 3
1 2 2
2 3 4
2 1 2
现在想只显示出A字段不重复的记录,并且显示的记录里的每个字段值都可以显示
select Distinct(A) from table
这句只能显示字段A的值,B和C的值无法显示。(字段b,c的值可以允许重复)

最后要求是显示出所A中所有记录(不重复)的值。。

请赐教!!!谢!!
lang8134 2007-08-22
  • 打赏
  • 举报
回复
如果a.Quote_nclass_ID 重复了,而其他列又不重复,那楼主你怎么选择呢?
langson 2007-08-22
  • 打赏
  • 举报
回复
我只需要 a.Quote_Nclass_ID不重复,其它字段可以重复。

SELECT distinct(a.Quote_Nclass_ID), a.Quote_ID,a.Quote_Title,a.Quote_T_Color,a.Quote_T_Type,b.Nquote_Name from Quote_News_Table as a , Nquote_Table as b where a.Quote_Class_ID = b.Nquote_Q_ID AND a.Quote_Class_ID = 7
把其它字段也生效。。。。

ruihuahan 2007-08-22
  • 打赏
  • 举报
回复
distinct 作用于 select 字段列表中所有字段的组合,而不是仅作用于第一个字段。
orcale 2007-08-22
  • 打赏
  • 举报
回复
distinct a.Quote_Nclass_ID, a.Quote_ID,a.Quote_Title,a.Quote_T_Color,a.Quote_T_Type,b.Nquote_Name 是 a.Quote_Nclass_ID, a.Quote_ID,a.Quote_Title,a.Quote_T_Color,a.Quote_T_Type,b.Nquote_Name 這些字段內容的組唯一.
中国风 2007-08-22
  • 打赏
  • 举报
回复
其它字段有不重复值

34,871

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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