累积300分再再再次问这个问题,真是太挑战人了。。

伊凡yifan 2003-09-29 05:40:00
如果business_code是单条记录。。
select price from serivce_id where in(select service_id from business where business_code = @business_code)

如果business_code是多条记录。。
select price from serivce_id where in(select service_id from business where business_code in @business_code)


应该这样写吗?


2、 关键是我需要这条语句直接 for xml auto出来的

那么形成的xml文件格式为

<PRICES xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="E:\Project\XMLDefine\Prices.xsd">
<SMS_NORMAL_PRICE>123</SMS_NORMAL_PRICE>
<SMS_KING_PRICE>234</SMS_KING_PRICE>
<SMS_FLASH_PRICE>345</SMS_FLASH_PRICE>
<MMS_TEXT_PRICE>456</MMS_TEXT_PRICE>
<MMS_PIC_PRICE>567</MMS_PIC_PRICE>
<MMS_ANI_PRICE>678</MMS_ANI_PRICE>
<MMS_SOUND_PRICE>789</MMS_SOUND_PRICE>
</PRICES>

3、 数组@business_code 在select price中可以形成节点方式出来

比如说
exec 'select price(1) as SMS_NORMAL_PRICE,price(2) as SMS_KING_PRICE from serivce_id where in(select service_id from business where business_code in '+@business_code+')'


4、因为 SMS_NORMAL_PRICE就是business_code的值,那么
还可以写成这样吗?

exec 'select business_code.price from serivce_id where in(select service_id from business where business_code in '+@business_code+')'

for xml auto 是生成xml文件,就是我帖上来的那段xml文件格式

...全文
35 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2003-09-30
  • 打赏
  • 举报
回复
如果business_code是多条记录。。
select price from serivce_id where in(select service_id from business where business_code in @business_code)
应该这样写吗?

不应该,应该这样写:
select price from serivce_id where in(select service_id from business where @business_code like '%'+business_code+'%')
或:
select price from serivce_id where in(select service_id from business where charindex(@business_code,business_code)>0)

hdslah 2003-09-30
  • 打赏
  • 举报
回复
up
txlicenhe 2003-09-29
  • 打赏
  • 举报
回复

set @business_code='''TEXT_00000'',''TEXT_00001'',''TEXT_00002'',''TEXT_00003'''
select * from xc.services where service_id in
(select service_id from xc.business
where charindex(business_code,@business_code)>0)
black_snail 2003-09-29
  • 打赏
  • 举报
回复
如果business_code是单条记录。。
select price from serivce_id where in(select service_id from business where business_code = @business_code)

如果business_code是多条记录。。
select price from serivce_id where in(select service_id from business where business_code in @business_code)


应该这样写吗?
->NO
where in --> where exists

aierong 2003-09-29
  • 打赏
  • 举报
回复
xml过几天开始学

我顶

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧