为简化起见,有两个表格“交易”和“汇率”。
trades.userid
并rates.fee
通过trades.rateid
=rates.rateid
问题是 SELECT 不会返回唯一的值,但它们都是可能的。
SELECT r.fee
FROM rates AS r
LEFT JOIN trades AS t
ON r.rateid = t.rateid
WHERE t.userid=(somevalue)
DISTINCT
或者TOP 1
由于订购混乱,这里无法选择。这里不需要订购。
如何选择正确和独特?
我只是想rates.fee
通过给定trades.rateid
一些来选择合适的trades.userid
trades
------
userid rateid total
101 1
101 1
101 2
101 1
rates
-----
rateid fee
1 0.90
2 0.80
3 0.70
UPDATE trades
SET total = (someformula) * (above SELECT query goes here)
WHERE userid = (somevalue)
谢谢你。