線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:802
推到 Plurk!
推到 Facebook!

請問如何將下面條件寫成SQL語句?

答題得分者是:cashxin2002
BIG-ROM
初階會員


發表:94
回覆:91
積分:37
註冊:2005-04-16

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-28 03:45:10 IP:66.59.xxx.xxx 未訂閱
各位好!    請問如何將下面條件寫成SQL語句?    問題:  輸出符合條件的前200筆資料,如果同一筆資料的A欄位等於1時,就B欄位 - C欄位,如果A欄位等於2時,就B欄位 + C欄位。    感謝!!    寫程序——新問題會接踵而來!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-28 09:10:33 IP:202.62.xxx.xxx 未訂閱
您好﹗    試試如下﹕ Select 欄位A, 欄位B, 欄位C, 欄位B-欄位C as 新欄位 From 資料表 Where 欄位A=1 Union Select 欄位A, 欄位B, 欄位C, 欄位B+欄位C as 新欄位 From 資料表 Where 欄位A=2    取符合條件的前兩百筆﹕ Select Top 200 * From (Select 欄位A, 欄位B, 欄位C, 欄位B-欄位C as 新欄位 From 資料表 Where 欄位A=1 Union Select 欄位A, 欄位B, 欄位C, 欄位B+欄位C as 新欄位 From 資料表 Where 欄位A=2)    ================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
change.jian
版主


發表:29
回覆:620
積分:439
註冊:2003-06-02

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-28 09:44:59 IP:61.218.xxx.xxx 未訂閱
to BIG-ROM:   試試看以下的語法可不可以通過:
select FieldA,
       FieldB,
       FieldC,
       case 
         when FieldA = 1 then FieldB-FieldC
         when FieldA = 2 then FieldB FieldC
       else
         NULL
       end as 新欄位名稱
  from TableName    
sybase 可以這樣用,如果你是MS-SQL,試試看也許可以(我沒有MS-SQL可以試)
系統時間:2024-06-22 3:58:48
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!