CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

不知道这个SQL语句怎么写?

楼主aqiang1979(啊强)2005-07-01 08:17:39 在 MS-SQL Server / 应用实例 提问

id               interid             name  
  1000                 1                     a  
  1000                 2                     b  
  1000                 3                     c  
  1001                 1                     d  
  1002                 1                     e  
  1002                 2                     f  
  要求得到:  
  id                 name  
  1000             a  
                      b  
                      c  
  1001             d  
  1002             e  
                      f      
   
  问题点数:20、回复次数:13Top

1 楼aqiang1979(啊强)回复于 2005-07-01 08:53:26 得分 0

upTop

2 楼phantomMan()回复于 2005-07-01 09:18:33 得分 20

create   table   tablename(  
  id   int,  
  interid   int,  
  [name]   varchar(10)  
  )  
   
  insert   into   tablename   values(1000,1,'a')  
  insert   into   tablename   values(1000,2,'b')  
  insert   into   tablename   values(1000,3,'c')  
  insert   into   tablename   values(1001,1,'d')  
  insert   into   tablename   values(1002,1,'e')  
  insert   into   tablename   values(1002,2,'f')  
   
  select   distinct   case    
  when   t2.id   is   null   then   cast(t1.[id]   as   varchar(10))    
  else   ''   end   as   [id],  
  t1.[name]    
  from   tablename   t1   left   join   tablename   t2    
  on   t1.id=t2.id   and   t1.interid>t2.interid    
  order   by   t1.[name]  
   
  Top

3 楼softj(天地客人<最近很迷茫>)回复于 2005-07-01 09:19:46 得分 0

帮你UPTop

4 楼summerICEREDTEA(从基础学起)回复于 2005-07-01 11:15:30 得分 0

MARK  
  没看懂   phantomMan   怎么把id置空的  
  :(  
  如果不一定要空的  
  我觉得可以  
  select   id,name   from   tablename   where   interid   =1    
  union  
  select   null,name   from   tablename   where   interid<>1  
  Top

5 楼filebat(Mark)回复于 2005-07-01 12:27:23 得分 0

呵呵,   这个问题是第三次看到了.  
  经典问题...Top

6 楼brother2605(幽灵)回复于 2005-07-02 11:39:23 得分 0

SELECT   A.id,B.name   FROM   tablename   A   RIGHT   JOIN    
                                                  tablename   B   ON   A.interid=B.interid    
  WHERE   A.interid=1  
  ORDER   BY   B.name    
  Top

7 楼jzdmyjzd(晓明)回复于 2005-07-02 11:56:43 得分 0

请问summerICEREDTEA(努力工作)   如何进行数据的排序呢Top

8 楼jzdmyjzd(晓明)回复于 2005-07-02 12:13:16 得分 0

可以这种写嘛!  
   
  create   table   tablename(  
  id   int,  
  interid   int,  
  [name]   varchar(10)  
  )  
   
  insert   into   tablename   values(1000,1,'a')  
  insert   into   tablename   values(1000,2,'b')  
  insert   into   tablename   values(1000,3,'c')  
  insert   into   tablename   values(1001,1,'d')  
  insert   into   tablename   values(1002,1,'e')  
  insert   into   tablename   values(1002,2,'f'  
   
  Select   Case   When   t1.interid   =   1   Then   t1.id   Else   Null   End   ,t1.name  
  from   tablename   t1   left   join   tablename   t2    
  on   t1.id=t2.id   and   t1.interid   =   t2.interid    
  Top

9 楼jzdmyjzd(晓明)回复于 2005-07-02 12:14:27 得分 0

Select   Case   When   t1.interid   =   1   Then   t1.id   Else   Null   End   As   ID   ,t1.name  
  from   tablename   t1    
  Top

10 楼Yisa()回复于 2005-07-02 15:43:16 得分 0

樓主,根据你想要的結果數据,   可以猜想你的id是字符型的.  
  如果id确實是字符型,   請試下面語句,   應該可以解決的.  
  select   id=case   when   interid=(select   min(interid)   from   Table1   a     where   a.id=b.id)   then   id   else   ''   end,   name  
  from     Table1     b  
  Top

11 楼tian790317()回复于 2005-07-04 08:22:27 得分 0

upTop

12 楼jzdmyjzd(晓明)回复于 2005-07-04 13:29:48 得分 0

Select   Case   When   interid   =   1   Then   id   Else   Null   End   As   TempID   ,name  
  from   tablename   Order   By   id   Asc   ,interid   Asc    
   
  或者  
  Select   Case   When   interid   =   1   Then   id   Else   ''   End   As   TempID   ,name  
  from   tablename   Order   By   id   Asc   ,interid   Asc    
   
  Top

13 楼smin1994(smin1994)回复于 2005-07-08 11:03:37 得分 0

学到新东西   :)Top

相关问题

  • 写SQL语句???
  • 求写SQL语句
  • 求写SQL语句,
  • $$求写SQL语句$$
  • 求写 sql 语句
  • sql 语句写法.
  • sql语句写法
  • sql语句写法
  • sql语句编写??
  • SQL语句写法。

关键词

  • null
  • interid
  • tablename
  • namefrom
  • into tablename values
  • insert
  • join
  • varchar
  • case
  • then

得分解答快速导航

  • 帖主:aqiang1979
  • phantomMan

相关链接

  • SQL Server类图书

广告也精彩

反馈

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