老野百灵鸟的母鸟图片:asp查询问题.在线等......特别急

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 04:42:19
我在编一个购物的网站,有个问题不会
usertype有两个.一个是"普通会员"一个是"vip会员"

如果是"普通会员"则价格为"comn_price"
如果是"vip会员"则价格为"vip_price"

会员type信息放在user的表里的usertype
价格信息分别放在prod的表里comn_price 和vip_price里

谁告诉我这个查询怎么写啊 非常感谢
<%
Set rsc1=Server.CreateObject("ADODB.RecordSet")
sqlc1="select * from UserMain order by usernum"
rsc1.open sqlc1,conn,1,1
if UserType="普通会员" then
Response.write FormatNumber(rsc("PriceList"),2)&"元"
elseif UserType="vip会员" then
Response.write FormatNumber(rsc("vip_price"),2)&"元"
else
Response.write "您的价格请咨询客服"
end if
rsc1.close
set rsc1=nothing
%>

我这样写的.但只显示最后一个

LZ阿,你贴出来的程序一看就有逻辑问题和错误欧,你自己说的::

如果是"普通会员"则价格为"comn_price"
如果是"vip会员"则价格为"vip_price"

但是怎么在程序中判断的时候,如果是"普通会员",就用rsc("PriceList")这个PriceList字段呢?

还有你是用rsc1打开记录集的,但是怎么下面是用rsc来引用的呢?

建议楼主先把我说的这些问题改好后,运行一下,有问题再提出来.

以上的改进:
如果user和prod表有能够关联的地方,那么:
select case when u.usertype ='普通' then p.comn_price else p.vip_price end from user u, prod p where XXXXXX

如果没有关联的地方,在程序中判断实现,不要用一个语句就实现。

SELECT CASE WHEN USERTYPE ='普通' THEN COMN_PRICE
ELSE VIP_PRICE END
FROM USER
WHERE XXXXXX