CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

关于distinct的问题

楼主9728(生菜种子)2004-12-01 11:54:37 在 MS-SQL Server / 应用实例 提问

select   distinct   MyField   lid,MyField   from   MyTable  
  这样是可行的。  
   
   
  select   distinct   a.MyField   a.lID,a.MyField   from   MyTable   a   left   outer   join   MyTable2   b   on   a.lID=b.UserID  
  但是这样就说'.'   附近有语法错误。这样如何是好?我要想根据a表的某一字段实现记录的唯一。 问题点数:20、回复次数:24Top

1 楼9728(生菜种子)回复于 2004-12-01 11:56:10 得分 0

请赐教,比较急Top

2 楼bzscs(沙虫 我爱小美)回复于 2004-12-01 11:56:45 得分 1

好像少了一个逗号啊  
  -select   distinct   a.MyField,a.lID,a.MyField   from   MyTable   a   left   outer   join   MyTable2   b   on   a.lID=b.UserID  
   
  Top

3 楼good2speed(Goodspeed)回复于 2004-12-01 11:57:18 得分 1

select   distinct   a.MyField,a.lID,a.MyField   from   MyTable   a   left   outer   join   MyTable2   b   on   a.lID=b.UserID  
  Top

4 楼9728(生菜种子)回复于 2004-12-01 12:16:56 得分 0

是的。加个逗号是行了,但是我是要对一个field进行判断,而不是所有field。  
   
  select   distinct   MyField   lid,MyField   from   MyTable  
  这样是可行的。  
  Top

5 楼yingqing(曾明)回复于 2004-12-01 12:35:28 得分 5

distinct是對後面所有的   filed做判斷  
  select     a.lID,a.MyField   ,distinct   a.MyField   from   MyTable   a   left   outer   join   MyTable2   b   on   a.lID=b.UserID  
  這樣改一下,然後調整字段順序  
  Top

6 楼9728(生菜种子)回复于 2004-12-01 12:54:25 得分 0

To   yingqing:  
  你的方法我早已试过,结果如下  
  在关键字   'distinct'   附近有语法错误。  
   
  感谢楼上的朋友出谋划策,但问题尚未解决Top

7 楼9728(生菜种子)回复于 2004-12-01 13:06:01 得分 0

upTop

8 楼9728(生菜种子)回复于 2004-12-01 14:22:44 得分 0

无法解决?Top

9 楼nksharp(全民節約 共同行動)回复于 2004-12-01 14:42:02 得分 1

我拭过,可以丫,楼主两个表的主健值是那几个Top

10 楼xuzhenhua21(舍得)回复于 2004-12-01 14:57:05 得分 1

说一下你的表结构和表中的数据  
  以及你想要的结果!这么问问题,大家都晕呀!Top

11 楼xuzhenhua21(舍得)回复于 2004-12-01 14:58:47 得分 1

友情up!Top

12 楼WangZWang(先来)回复于 2004-12-02 08:49:57 得分 1

你要实现何字段唯一?Top

13 楼9728(生菜种子)回复于 2004-12-02 09:33:11 得分 0

不好意思,原来是我没表达清楚。  
  例如:  
  Table1   有字段   lID(主键)   VendorID(供应商)   GoodsID(商品ID)   还有其它......  
  VendorID   GoodsID都是可能重复的  
  Table2   有字段   GoodsID(商品ID)   BarCode(条形码)还有其它商品明细...........  
  GoodsID是可能重复的,因为一个商品可能有多个条形码。  
   
  现在要实现表1的GoodsID唯一Top

14 楼9728(生菜种子)回复于 2004-12-02 10:21:20 得分 0

upTop

15 楼comszsoft(星星点灯)回复于 2004-12-02 10:29:12 得分 1

帮你顶,让邹老大进来看看Top

16 楼yyhyy23(只爱猪猪)回复于 2004-12-02 10:40:27 得分 1

select     a.lID,a.MyField   ,distinct   a.MyField   from   MyTable   a   left   outer   join   (select   *   from   mytable2   group   by   goodsid)   b   on   a.lID=b.UserID  
  Top

17 楼9728(生菜种子)回复于 2004-12-03 15:45:37 得分 0

谢谢!我试试Top

18 楼9728(生菜种子)回复于 2004-12-03 15:50:53 得分 0

谢谢热心帮顶,只是select     a.lID,a.MyField   ,distinct   a.MyField   from   MyTable这样明显就是错误的。  
  Top

19 楼KingSeaMountain()回复于 2004-12-03 16:28:42 得分 1

-------------------------------------  
  Table1   有字段   lID(主键)   VendorID(供应商)   GoodsID(商品ID)   还有其它......  
  VendorID   GoodsID都是可能重复的  
  Table2   有字段   GoodsID(商品ID)   BarCode(条形码)还有其它商品明细...........  
  GoodsID是可能重复的,因为一个商品可能有多个条形码。  
   
  现在要实现表1的GoodsID唯一  
  ----------------------------------------  
  我觉得你的数据库可能不妥,  
  应该单建一个表,只包含GoodsID,条形码,很可能再包括一个是否已售出,如果需要,实际售价也可以被包含。商品明细表中不应该包含条形码,否则你的数据冗余特别大,而且一致性要靠客户端代码来控制,不稳定。  
   
  这种情况下,从业务逻辑上讲,完全可以避免你那种情况。  
  Top

20 楼wjwboy(王建)回复于 2004-12-05 14:24:48 得分 5

select   distinct   MyField   lid,MyField   from   MyTable  
   
  上面的语句等于下面的  
   
  select   distinct   MyField   as   lid,MyField   from   MyTable  
   
  Top

21 楼comszsoft(星星点灯)回复于 2004-12-05 21:00:28 得分 1

这样也不能确保得到唯一的值  
  select   distinct   f1,f2,f3   from   table  
  会把f1,f2,f3都进行比较,只要3个中有一个字段不相同就会输出Top

22 楼friendly_2008(努力学习ing)回复于 2004-12-05 23:18:57 得分 0

试试这个  
   
  Select   a.lID,a.MyField         from    
   
  (select   distinct   a.MyField   as   lID   from   MyTable)a    
   
  inner   join   MyTable   b   on   a.lID=b.MyField   left   outer   join   MyTable2   d   on   a.lID=d.UserIDTop

23 楼jshecn(海。水手)回复于 2004-12-05 23:47:02 得分 0

搂主我不知道你的目的是什么。针对不同的要求有不同的写法。  
  你的数据库本来比较乱,如果你想分类显示每个商品的信息(商品ID唯一,供应商唯一,条形码可能要多个)可以对GOODID   order   by.如果是只是查询某个商品可以where   goodid   =   ''Top

24 楼hank212(IT民工)回复于 2005-08-16 19:56:56 得分 0

dfTop

相关问题

  • Distinct Sort
  • group by and distinct
  • distinct与group by?
  • distinct 问题!!!
  • DISTINCT的问题。。。
  • select distinct 的问题?
  • distinct语法求助!
  • distinct 筛选问题
  • distinct用法请教
  • DISTINCT的问题,请帮忙!

关键词

  • 字段
  • myfield
  • lid
  • goodsid
  • mytable
  • distinct
  • 条形码
  • 商品
  • vendorid
  • 唯一

得分解答快速导航

  • 帖主:9728
  • bzscs
  • good2speed
  • yingqing
  • nksharp
  • xuzhenhua21
  • xuzhenhua21
  • WangZWang
  • comszsoft
  • yyhyy23
  • KingSeaMountain
  • wjwboy
  • comszsoft

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo