SQL Server中不使用星号(*)实现乘法运算的查询方案咨询
SQL Server中不使用星号(*)实现乘法运算的查询方案咨询
嗨,看起来你其实已经找对路子啦!你现在写的这个查询语句完全符合系统的限制要求:
select budget, price * qty as 'amount spent' from orderline
系统禁止的是SELECT *这类全量查询,而你明确指定了要提取的字段budget,同时通过price * qty计算出了你需要的「花费金额」,根本没用到被限制的星号*,完全是合规的写法。
这里给你两个小提示:
- 先确认
orderline表中确实存在budget、price、qty这几个字段,要是字段名拼写错了可能会触发报错,这点要留意。 - 如果系统还有一些没明说的奇怪限制(比如不允许在SELECT子句里直接写计算表达式),可以试试用子查询或者CTE的方式包装一下,写法如下:
SELECT budget, 'amount spent' FROM ( SELECT budget, price * qty AS 'amount spent' FROM orderline ) AS order_summary
不过这种写法本质和你原来的没区别,只是多了一层嵌套,大概率没必要,但要是系统真有特殊规则的话可以试试。
备注:内容来源于stack exchange,提问作者rockclimber510
相关产品推荐
相关产品推荐

