<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 89,  comments - 98,  trackbacks - 0
    1,現(xiàn)有表bill和表payment結(jié)構(gòu)如下,兩表通過pay_id關(guān)聯(lián):
    bill表――bill_id是帳單標(biāo)識(shí),charge為帳單金額,pay_id為付款編號(hào),PK:bill_id
    bill_id INTEGER
    charge INTEGER
    pay_id INTEGER

    payment表――pay_id為付款編號(hào),charge為付款金額,PK:pay_id
    pay_id INTEGER
    charge INTEGER

    要求更新payment使charge=bill表中同一pay_id的charge之和。

    2、表A定義如下:
    屬性 類型
    Year Integer
    Quarter Varchar(30)
    Amount float

    Year Quarter Amount
    2000 1 1.1
    2000 2 1.2
    2000 3 1.3
    2000 4 1.4
    2001 1 2.1
    2001 2 2.2
    2001 3 2.3
    2001 4 2.4
    其中每行表表示一個(gè)季度的數(shù)據(jù)。

    如果處理表A中的數(shù)據(jù),得到如下的結(jié)果。
    Year Quarter1 Quarter2 Quarter3 Quarter4
    2000 1.1 1.2 1.3 1.4
    2001 2.1 2.2 2.3 2.4
    請(qǐng)用SQL寫一段代碼實(shí)現(xiàn)。

    3、有如下信息:
    起始地 目的地 距離(公里)
    A B 1000
    A C 1100
    A D 900
    A E 400
    B D 300
    D F 600
    E A 400
    F G 1000
    C B 600
    請(qǐng)用SQL語(yǔ)句或一段代碼寫出從A出發(fā),可達(dá)到的目的地(包括間接方式)。

    4.表A定義如下:
    屬性 類型 備注
    Id Integer PK
    Name Varchar(30)
    State char(3)
    表A中現(xiàn)有1000萬(wàn)條記錄,如果客戶端要通過分頁(yè)的方式從表A中取數(shù)據(jù),其中每頁(yè)20條
    記錄,有幾種方法?描述每種方法如何處理,有什么優(yōu)缺點(diǎn)?用SQL寫出實(shí)現(xiàn)代碼。
    scmail81 發(fā)表于 2006-2-12 14:17:25

    不錯(cuò)嗎!
    CSDN上的經(jīng)典問題阿!
    scmail81 發(fā)表于 2006-2-12 14:27:45

    2.
    create table A
    (
    year int,
    Quarter varchar(30),
    amount float
    )

    insert A select 2000,'1',1.1
    insert A select 2000,'2',1.2
    insert A select 2000,'3',1.3
    insert A select 2000,'4',1.4
    insert A select 2001,'1',2.1
    insert A select 2001,'2',2.2
    insert A select 2001,'3',2.3
    insert A select 2001,'4',2.4

    declare @T_SQL varchar(8000)
    set @T_SQL=''
    select @T_SQL=@T_SQL + ' sum(case when Quarter=''' + T.Quarter + ''' then amount else 0 end) as Quarter' + T.Quarter +','
    from (select Quarter from A group by Quarter) T
    set @T_SQL='select year ,' + left(@T_SQL,len(@T_SQL)-1) + ' from A group by year'
    exec (@T_SQL)
    scmail81 發(fā)表于 2006-2-12 14:46:32

    3.
    create table A
    (
    起始地 varchar(5),
    目的地 varchar(5),
    距離 int
    )

    insert A select 'A','B',1000
    insert A select 'A','C',1100
    insert A select 'A','D',900
    insert A select 'A','E',400
    insert A select 'B','D',300
    insert A select 'D','F',600
    insert A select 'E','A',400
    insert A select 'F','G',1000
    insert A select 'C','B',600

    declare @Q varchar(5)
    declare @T table ( 起始地 varchar(5),目的地 varchar(5),路 varchar(8000),lev int)
    declare @lev int
    set @Q='A'
    set @lev=1
    insert @T select 起始地,目的地,起始地+'->'+目的地 as 路,@lev as lev from A where 起始地=@Q
    while @@rowcount>0
    begin
    set @lev=@lev+1
    insert @T select A.起始地,A.目的地,T.路+'->'+A.目的地 ,@lev as lev from (select * from @T where lev=@lev-1) T,(select * from A where A.目的地 not in (select 起始地 from @T)) A where A.起始地=T.目的地
    end
    select 路 from @T
    scmail81 發(fā)表于 2006-2-12 14:56:03

    1.
    update payment set charge=(select sum(charge) from bill where pay_id=T.pay_id)
    from payment p
    samfeng_2003 發(fā)表于 2006-2-12 15:48:20

    我暈,這是哪個(gè)公司的面視題?怎么有那么多公司都用這題來(lái)考人啊
    shiqing8899 發(fā)表于 2006-2-12 17:05:36

    不是吧?有這么多公司用?。?br />
    gerrylc 發(fā)表于 2006-2-13 8:32:02

    是啊,我也碰過第二題
    select year,sum(case Quarter when '1' then Amount else 0 end) as Quarter1,
    Quarter2=sum(case Quarter when '2' then Amount else 0 end),
    Quarter3=sum(case Quarter when '3' then Amount else 0 end),
    Quarter4=sum(case Quarter when '4' then Amount else 0 end),
    Amount=sum(Amount)
    from 表 group by year order by year
    mm2love2zz 發(fā)表于 2006-2-13 14:04:48

    看過了~~
    mm2love2zz 發(fā)表于 2006-2-13 14:17:33

    select year,sum(case Quarter when '1' then Amount end) as Quarter1,
    sum(case Quarter when '2' then Amount end) as Quarter2,
    sum(case Quarter when '3' then Amount end) as Quarter3,
    sum(case Quarter when '4' then Amount end) as Quarter4
    from A order by year group by year
    chenyuandxm 發(fā)表于 2006-2-13 16:59:15

    1、
    select pay_id,charge=sum(charge) into #temp from bill group by pay_id
    update payment set payment.charge=#temp.charge from payment,#temp where payment.pay_id=#temp.pay_id
    posted on 2006-09-19 11:17 水煮三國(guó) 閱讀(4315) 評(píng)論(5)  編輯  收藏 所屬分類: Database

    FeedBack:
    # re: SQL 經(jīng)典面試題集
    2009-02-17 17:19 | 暢暢暢
    3.
    select distinct b1.目的地 from B b1,(select 目的地 from B where 起始地='A') as b2 where b1.起始地=b2.目的地 or b1.起始地='A';  回復(fù)  更多評(píng)論
      
    # re: SQL 經(jīng)典面試題集
    2009-02-17 17:24 | 暢暢暢
    select distinct b1.目的地 as A能到達(dá)的目的地 from B b1,(select 目的地 from B where 起始地='A') as b2 where b1.起始地=b2.目的地 or b1.起始地='A' order by b1.目的地;  回復(fù)  更多評(píng)論
      
    # re: SQL 經(jīng)典面試題集
    2010-09-02 16:38 | David Liu
    不錯(cuò),謝謝了  回復(fù)  更多評(píng)論
      
    # re: SQL 經(jīng)典面試題集
    2010-09-02 16:40 | David Liu
    1. 創(chuàng)建一個(gè)函數(shù)
    create FUNCTION GetBillCharge(@pay_id int)
    RETURNS int
    AS
    begin
    declare @returnValue int
    SELECT @returnValue = charge from dbo.bill where bill.pay_id = @pay_id
    return @returnValue
    end

    更新
    update payment
    set change= change + dbo.GetBillCharge(payment.pay_id)  回復(fù)  更多評(píng)論
      
    # re: SQL 經(jīng)典面試題集
    2010-09-02 16:41 | David Liu
    2. 答案如下

    select [YEAR],
    sum(case when [Quarter] = 1 then [Amount] else 0 end ) 'Quarter1' ,
    sum(case when [Quarter] = 2 then [Amount] else 0 end ) 'Quarter1',
    sum(case when [Quarter] = 3 then [Amount] else 0 end ) 'Quarter1' ,
    sum(case when [Quarter] = 4 then [Amount] else 0 end ) 'Quarter1'
    from A group by [YEAR]
      回復(fù)  更多評(píng)論
      
    <2009年2月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    1234567

    常用鏈接

    留言簿(4)

    隨筆分類(85)

    隨筆檔案(89)

    文章分類(14)

    文章檔案(42)

    收藏夾(37)

    java

    oracle

    Sybase

    搜索

    •  

    積分與排名

    • 積分 - 210747
    • 排名 - 266

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲国产精品乱码一区二区 | 亚洲精品高清国产麻豆专区| 国产视频精品免费| 30岁的女人韩剧免费观看| 久久久青草青青亚洲国产免观| 国产精品免费看久久久无码| 中国一级特黄高清免费的大片中国一级黄色片 | 99精品全国免费观看视频| 亚洲av中文无码乱人伦在线观看| 免费人成视频x8x8入口| 一二三四视频在线观看中文版免费| 亚洲国产成人AV网站| 亚洲码一区二区三区| 国产网站在线免费观看| 中国好声音第二季免费播放| 亚洲冬月枫中文字幕在线看| 久久亚洲伊人中字综合精品| 亚洲精品成人区在线观看| 免费jjzz在在线播放国产| 最好免费观看韩国+日本 | 亚洲乱码在线视频| 亚洲M码 欧洲S码SSS222| 国产精品视频免费一区二区三区 | 亚洲性猛交xx乱| 亚洲福利精品电影在线观看| 免费国内精品久久久久影院| 午夜电影免费观看| 男人进去女人爽免费视频国产| 亚洲免费网站观看视频| 99久久国产亚洲综合精品| 国产日本亚洲一区二区三区| 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 1000部羞羞禁止免费观看视频| 国产偷国产偷亚洲高清人| 亚洲AV日韩综合一区| 美女羞羞视频免费网站| 污污污视频在线免费观看| 亚洲成人在线免费观看| jlzzjlzz亚洲jzjzjz| 亚洲精品无AMM毛片| 国产精品亚洲天堂|