簡単にするために、'trades' と 'rates' という 2 つのテーブルがあります。
trades.useridと=rates.feeでつながっているtrades.rateidrates.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.rateidtrades.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)
ありがとうございました。