我正在使用以下查询从SQL数据库中获取交付类型,查询获取与购物车中的产品列表关联的所有交付类型。查询可以为一个产品返回至少两种交付类型,或者为购物车内的多个产品返回更多。不过,我只需要显示两个最昂贵的运输成本。从数据库中获取最高值
E.G. 产品1具有标准交付£9.99 2人交付£29.99 产品2具有标准交货£18.95和2人交付£39.99
我需要显示在屏幕上进行产品2.广告的投放类型我可以使用最大功能还是只会返回最高交货价格?
查询被用来:
<cfquery name="getDeliveryType" datasource="#application.dsn#">
SELECT
uid_pdelopt,
txt_pdelopt_type,
mon_pdelopt_cost,
uid_pdelopt_prodid,
txt_pdelopt_detail,
bit_pdelopt_active,
bit_pdelopt_selected,
uid_pdelopt_webid,
uid_pdelopt_typeid,
mon_pdelopt_actcost
FROM dbo.tbl_product_deliveryopt
WHERE bit_pdelopt_active=<cfqueryparam cfsqltype="cf_sql_bit" value="yes">
AND uid_pdelopt_prodid IN (<cfqueryparam cfsqltype="cf_sql_integer" value="#arguments.uid_pdelopt_prodid#" list="yes">)
</cfquery>
任何指针将不胜感激。
杰森
我的思想再次陷入困境!但是在SQL中允许LIMIT,因为我在返回的'LIMIT'错误附近得到了错误的语法。谢谢你快速的回复!! – 2012-02-11 15:38:57
我想替代方案是TOP,但是这会得到错误的结果! – 2012-02-11 15:40:45
如果你使用SQL Server,你需要改变它。 LIMIT在SQL Server中不起作用。尝试'SELECT TOP 2 uid_pdelopt,...'而不是 – 2012-02-11 15:41:32