我正在使用一个名为交易和销售的表,其中交易包含帐号、脚本名称、交易类型 (transactio) 和数量; sales 表包含脚本名、帐号、shares_bought 和 shares_sold。 如果交易类型是卖出,那么 shares_bought = Quantity 否则 Shares_sold = Quantity。我写的SQL命令不起作用,请指正。
SELECT t.scriptname, s.accnum, s.shares_bought, s.shares_sold
FROM sales AS s INNER JOIN transac AS t ON s.accnum = t.accnum
SELECT CASE WHEN t.transactio = 'buy' THEN s.shares_bought=t.Quantity
ELSE s.shares_sold=t.Quantity
END
例如,我在交易表中有 scriptname="abcd"accnum="1"transactio="buy"和 Quantity="20" 在 sales 表中,我应该得到 scriptname="abcd"accnum="1"shares_bought="20"并且股票卖空
最佳答案
如果我没理解错的话,你应该将第二个选择替换为 and 或 where
SELECT t.scriptname, s.accnum, s.shares_bought, s.shares_sold
FROM sales s INNER JOIN transac t ON s.accnum = t.accnum
and CASE WHEN t.transactio = 'sell' THEN s.shares_sold=t.Quantity
ELSE s.shares_sold=t.Quantity
END
关于mysql - 从一个表获取值到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32374893/