我使用的表称为交易和销售,其中交易包含帐号,脚本名称,交易类型(transactio)和数量;销售表包含脚本名称,帐号,shares_bought和shares_sold。
如果交易类型为卖出,则shares_bought =数量,否则Shares_sold =数量。我编写的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”
在销售表中,我应该获得scriptname =“ abcd” accnum =“ 1” shares_bought =“ 20”,并将股份出售为空

最佳答案

如果我对您的理解正确,则应将第二个选择替换为和或

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 - 从一张 table 获取值(value)到另一张 table ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32374893/

10-11 01:37