假设有不同的公司在其工作中使用不同的货币,TCS使用美元和英镑。现在我们有这样的列
Company Amount Currency
TCS- 200 USD
Infosys 50 USD
TCS 100 USD
TCS 50 GBP
INFOSYS 100 GBP
TCS 100 GBP
现在我需要一个带有结果列的查询,它将添加这些公司的总数并显示如下:
Company Total Amount
TCS 300USD+150GBP
Infosys 100USD+100GBP
应该是这样,我们制作两个局部变量。在一个我们添加一个货币的值,在另一个我们添加两个货币(usd,gbp)变量的值变量,即usd将检查该值是否以美元为单位,然后它将添加到以前的美元值。类似地,gbp将添加类型GBP的值,即(200 + 100)USD和(100 + 50)GBP。现在我们连接这些变量并添加第三个变量(300USD + 150GBP)。现在,第三个变量将显示为总列中的结果。
答案 0 :(得分:0)
您希望每家公司都有一行,因此您可以按公司分组。但在这些行中,您希望显示每个公司和货币的汇总数据。这是另一个分组,所以它实际上是你必须采取的两个步骤。
第一步很简单,获得每家公司和货币的总和:
<form action="register.php" method="POST">
First Name: <input type="text" name="namer" placeholder="First Name"/> <br>
Last Name: <input type='text' name='laz' /> <br>
Email Address: <input type='text' name='emaila' /> <br>
UserName: <input type='text' name='usrn' />
Password: <input type='password' name='passw' />
<input type='submit' id='button' value='Submit' name='login' />
</form>
现在,如何将这些总数连接成一个字符串? Sybase为此提供聚合函数LIST(请参阅此处:http://infocenter.sybase.com/help/...)。因此:
select company, currency, sum(amount)
from mytable
group by company, currency;