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

想将两个select和为一个,求助

楼主zhongzuo1981(Sun ONE)2005-06-02 16:56:09 在 MS-SQL Server / 基础类 提问

1,select   left(Region,1)   as   RegionName,  
  count(distinct   Region)   as   aaa  
    from   moneyinfo  
    where    
  Region   like   '%贷%'  
    group   by   left(Region,1)  
   
    2,select   left(Region,1)   as   RegionName,  
  count(distinct(Region))   as   bbb  
    from   moneyinfo  
    where    
  right(left(Region,2),1)   <>   '贷'  
    group   by   left(Region,1)  
   
  如何在where前用case   when的形式写啊?  
  我不知道distinct该放哪,老报distinct附近有语法错误 问题点数:20、回复次数:8Top

1 楼paoluo(一天到晚游泳的鱼)回复于 2005-06-02 17:00:53 得分 5

 
   
  select   left(Region,1)   as   RegionName,  
  count(distinct   Region)   as   aaa  
    from   moneyinfo  
    where    
  Region   like   '%贷%'  
    group   by   left(Region,1)  
  Union   All --加上这个  
  select   left(Region,1)   as   RegionName,  
  count(distinct(Region))   as   bbb  
    from   moneyinfo  
    where    
  right(left(Region,2),1)   <>   '贷'  
    group   by   left(Region,1)Top

2 楼7271747(帅的拖网速)回复于 2005-06-02 17:02:49 得分 5

用(select   语句)   union   (select   语句)  
  eg:  
  select   left(Region,1)   as   RegionName,  
  count(distinct   Region)   as   aaa,  
                    ''   as   bbb  
    from   moneyinfo  
    where    
  Region   like   '%贷%'  
    group   by   left(Region,1)  
  union  
  lect   left(Region,1)   as   RegionName,  
                    ''   as   aaa,  
  count(distinct(Region))   as   bbb  
    from   moneyinfo  
    where    
  right(left(Region,2),1)   <>   '贷'  
    group   by   left(Region,1)  
  Top

3 楼aw511(点点星灯)回复于 2005-06-02 17:04:10 得分 0

--这样行吗??  
  select   left(Region,1)   as   RegionName,  
  count(distinct   Region)   as   aaa  
    from   moneyinfo  
    where   (Region   like   '%贷%')   or(right(left(Region,2),1)   <>   '贷')  
    group   by   left(Region,1)Top

4 楼zhongzuo1981(Sun ONE)回复于 2005-06-02 17:19:29 得分 0

用union   all的方法返回  
  RegionName   aaa                   bbb                    
  ----------   -----------   -----------    
  朝                     5                       0  
  崇                     30                     0  
  东                     13                     0  
  丰                     1                       0  
  海                     1                       0  
  石                     1                       0  
  市                     2                       0  
  西                     1                       0  
  宣                     6                       0  
  东                     0                       705  
  丰                     0                       140  
  西                     0                       351  
  朝                     0                       147  
  石                     0                       285  
  海                     0                       160  
  宣                     0                       553  
  崇                     0                       347  
   
  (所影响的行数为   17   行)  
   
  能不能这样?  
  RegionName   aaa                   bbb                    
  ----------   -----------   -----------    
  朝                     5                       147  
  崇                     30                     347  
  东                     13                     705  
  丰                     1                       140  
  海                     1                       160  
  石                     1                       285  
  市                     2                       0  
  西                     1                       351  
  宣                     6                       553  
   
   
   
   
  Top

5 楼zhongzuo1981(Sun ONE)回复于 2005-06-02 17:50:58 得分 0

自己顶Top

6 楼paoluo(一天到晚游泳的鱼)回复于 2005-06-02 17:56:05 得分 5

 
  可以,那就用Union  
   
  select   left(Region,1)   as   RegionName,  
  count(distinct   Region)   as   aaa  
    from   moneyinfo  
    where    
  Region   like   '%贷%'  
    group   by   left(Region,1)  
  Union    
  select   left(Region,1)   as   RegionName,  
  count(distinct(Region))   as   bbb  
    from   moneyinfo  
    where    
  right(left(Region,2),1)   <>   '贷'  
    group   by   left(Region,1)  
  Top

7 楼paoluo(一天到晚游泳的鱼)回复于 2005-06-02 17:56:25 得分 0

union   all   ----不压缩,不排序  
  union           ----压缩重复数据,并排序Top

8 楼Hopewell_Go(好的在后頭﹗希望更好﹗﹗)回复于 2005-06-02 19:51:28 得分 5

在兩者加一個union   all就行  
  Top

相关问题

  • 如何将这两个语句select 合为一个select 语句
  • select 语句,两个排序
  • select 两个表的问题
  • 关于将一个socket用在两个select函数中的问题,急
  • 关于不同库两个表的SELECT
  • 两个select语句的区别
  • 两个进程中的select的关系
  • 如何将两个表关联后select的结果放到一个临时的表中?
  • 存储过程中两个SELECT,怎样执行第二个SELECT语句?
  • 怎样实现在但击按钮从一个select框中将当前项加到一个多选select里

关键词

  • regionname
  • region
  • distinct
  • left
  • bbb
  • aaa
  • moneyinfo where
  • union
  • 宣
  • group

得分解答快速导航

  • 帖主:zhongzuo1981
  • paoluo
  • 7271747
  • paoluo
  • Hopewell_Go

相关链接

  • SQL Server类图书

广告也精彩

反馈

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