我有两个表,Products和ExchangeRates,我正在尝试计算汇率。我在SQL中创建了许多计算查询但由于某种原因,这似乎没有输出任何东西,我尝试以多种不同的方式格式化查询,也许我没有看到它正确。但到目前为止我已经
了Select ExchangeRates.Rate * sum(Products.Cost) as Total from ExchangeRates
INNER JOIN Products ON Products.ProductsID=ExchangeRates.ID
WHERE ExchangeRates.CurrencyCode = 'EUR' Group BY ExchangeRates.Rate
我认为当我把WHERE子句放入时,因为没有它,它会计算(但只有最后输入的速率),但是我需要指定我想要它计算的速率。
汇率表包括
ID (int), CurrencyCode(nchar (3), Rates(decimal, (10,5)
--Data in this table ID 1, CurrecnyCode: EUR, Rates: 1.26
产品表
ProductID, Itemdescript(nvarchar), CurrecncyCode, Cost(decimal(10,2)
虽然我的表格中都有数据,但没有输出
已更新
以下答案是正确的,但我也注意到我的ExchangeRates表中没有'GBP',这就是为什么它不会计算。我想将GBP计算为欧元,但我猜它在ExchangeRates表中需要GBP
答案 0 :(得分:0)
这是你的查询,用表别名清理了一下:
Select er.Rate * sum(p.Cost) as Total
from ExchangeRates er INNER JOIN
Products p
ON p.ProductsID = er.ID
WHERE er.CurrencyCode = 'EUR'
Group BY er.Rate;
on
子句高度可疑:汇率id
似乎不太可能是产品ID。 CurrencyCode
:
join
Select er.Rate * sum(p.Cost) as Total
from ExchangeRates er INNER JOIN
Products p
ON p.CurrencyCode = er.CurrencyCode
WHERE er.CurrencyCode = 'EUR'
Group BY er.Rate;