今天面试笔试了一道SQL面试题,狠简单

 
有表Test
CREATE TABLE test 
    ( 
      date datetime , 
      type1 VARCHAR(2) , 
      type2 VARCHAR(2) , 
      account1 INT , 
      account2 INT 
    )
----------------------------------- 
date           type1 type2 account1 account2 
 
2010- 02- 21     A1    B1     12     14 
2010- 02- 21     A1    B2     12     19 
2010- 02- 21     A1    B1     14     19 
2010- 02- 21     A2    B3     15     12 
2010- 02- 21     A2    B1     17     14 
2010- 02- 21     A3    B2     18     14 
2010- 02- 21     A2    B1     12     11 
 
 
 
一条语句查询出 
-------------------------------------- 
date            type  account1 account2 
 
2010- 02- 21     A1         38     0 
2010- 02- 21     A2         44     0 
2010- 02- 21     A3         18     0 
2010- 02- 21     B1         0     58 
2010- 02- 21     B2         0     33 
2010- 02- 21     B3         0     12 
 
 
 
----------------------------------------- 
  
/*
 
    
INSERT INTO test 
SELECT '2010-02-21','A1','B1',12,14 
UNION 
SELECT '2010-02-21','A1','B2',12,19 
UNION 
SELECT '2010-02-21','A1','B1',14,19 
UNION 
SELECT '2010-02-21','A2','B3',15,12 
UNION 
SELECT '2010-02-21','A2','B1',17,14 
UNION 
SELECT '2010-02-21','A3','B2',18,14 
UNION 
SELECT '2010-02-21','A2','B1',12,11  
 
   
SELECT  *  FROM    test     
*/ 
  
 
 
SELECT  date,[type1]  AS ' type', SUM(account1)  AS 'account1', 0  AS 'account2'  FROM test 
GROUP   BY  date,[type1] 
union 
SELECT  date,[type2], 0   , SUM(account2)   FROM test 
GROUP   BY  date,[type2] 
 
 
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值