佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1034|回复: 8

microsoft SQL server 的 QUERY...

[复制链接]
发表于 1-8-2005 11:36 PM | 显示全部楼层 |阅读模式
select '' Row ,'MULTI'Insurance_Company_Code,
case len(certificate_no)
     when 1 then '0000000' + rtrim(ltrim(str(certificate_no)))
     when 2 then '000000' + rtrim(ltrim(str(certificate_no)))
     when 3 then '00000' + rtrim(ltrim(str(certificate_no)))
     when 4 then '0000' + rtrim(ltrim(str(certificate_no)))
     when 5 then '000' + rtrim(ltrim(str(certificate_no)))
     when 6 then '00' + rtrim(ltrim(str(certificate_no)))
     when 7 then '0' + rtrim(ltrim(str(certificate_no)))
     else rtrim(ltrim(str(certificate_no)))
end Certificate_No,'MULTI' + proposal_form.proposal_form_no Proposal_Form_No,
proposal_form.dealer_code Dealer_Code,dealer_name Dealer_Name,
car_registration_no Vehicle_Registration_No,
convert(char(10),car_registration_date,103) Date_of_Registration,
proposal_form.sum_insured Sum_Insured,
insured_name Customer_Name,
Certificate_Insurance.insurance_period*12 EWP_Period,
convert(char(10),Inception_date,103) EWP_Period_Start,
convert(char(10),expiry_date,103) EWP_Period_End,
case status
when 'I' then Certificate_Insurance.premium_amount
     when 'V' then -Certificate_Insurance.premium_amount
end PREMIUM,
case status
when 'I' then Certificate_Insurance.premium_amount*10/100
     when 'V' then -Certificate_Insurance.premium_amount*10/100
end Commissioin,
insured_identification Customer_NRIC,
car_chassis_no Chasis_No,
car_engine_no Engine_No
from Proposal_Form, State, Certificate_Insurance, Finance_Company, Dealer
where certificate_insurance.date_print
between convert(datetime, '30-11-2004 00:00',103) and convert(datetime, '30-12-2004 23:59',103)
and Proposal_Form.insured_state_code = State.state_code
and Proposal_Form.proposal_form_no = Certificate_Insurance.proposal_form_no
and Proposal_Form.finance_company_code = Finance_Company.finance_company_code
and Proposal_Form.dealer_code = Dealer.dealer_code
and Proposal_Form.Proposal_Form_no like 'A%'
order by certificate_no
-----------------------------
我的 "ROW" cloumn 会 DISPLAY NULL 的,我如何 DISPLAY 1 在 1ST ROW, 2 在 2ND ROW,..... 到 VALUE 95 在 第95 ROW, 如果 TOTAL DATA 是有 95 RECORD。。的的。。
回复

使用道具 举报


ADVERTISEMENT

发表于 2-8-2005 12:24 AM | 显示全部楼层
你试试看

order by CAST(row as int)
回复

使用道具 举报

 楼主| 发表于 2-8-2005 12:48 AM | 显示全部楼层
CAST 是什么意识???
回复

使用道具 举报

发表于 2-8-2005 09:22 AM | 显示全部楼层
原帖由 eastken 于 2-8-2005 12:48 AM 发表
CAST 是什么意识???


CAST 是转换一个资料的类型.
回复

使用道具 举报

发表于 2-8-2005 12:49 PM | 显示全部楼层
小小建议。第一个case改成

case WHEN len(certificate_no)<=7 THEN
replicate('0',8-len(certificate_no))+rtrim(ltrim(str(certificate_no)))
else rtrim(ltrim(str(certificate_no)))
回复

使用道具 举报

 楼主| 发表于 2-8-2005 08:43 PM | 显示全部楼层
原帖由 flashang 于 2-8-2005 12:24 AM 发表
你试试看

order by CAST(row as int)


不可以。。。。
之前我的是 DISPLAY

row | Insurance_Company_Code
-----------------------------
   Multi
   Multi
  :
  :

现在我要 DISPLAY

row | Insurance_Company_Code
-----------------------------
 1 Multi
 2 Multi
 3 Multi
  :
回复

使用道具 举报

Follow Us
 楼主| 发表于 2-8-2005 08:45 PM | 显示全部楼层
原帖由 my_cat 于 2-8-2005 12:49 PM 发表
小小建议。第一个case改成

case WHEN len(certificate_no)<=7 THEN
replicate('0',8-len(certificate_no))+rtrim(ltrim(str(certificate_no)))
else rtrim(ltrim(str(certificate_no)))



谢谢你的意见。。。
回复

使用道具 举报

发表于 3-8-2005 09:12 AM | 显示全部楼层
在你的program里set吧。
microsoft SQL server没酱的function。
Oracle就用rownum。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 4-8-2005 10:54 PM | 显示全部楼层
原帖由 my_cat 于 3-8-2005 09:12 AM 发表
在你的program里set吧。
microsoft SQL server没酱的function。
Oracle就用rownum。


不可以用类是
loop 或
define @@variable, set @@varible = @@varible + 1
的方法吗???
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 27-11-2024 11:51 AM , Processed in 0.110749 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表