簡単にするために、'trades' と 'rates' という 2 つのテーブルがあります。
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)
ありがとうございました。