mysql - 从一个表获取值到另一个表

标签 mysql visual-studio-2008 join

我正在使用一个名为交易和销售的表,其中交易包含帐号、脚本名称、交易类型 (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/

相关文章:

mysql - SQL:使用同一张表核对数量

visual-studio - Visual Studio 预生成事件是否保证在编译开始之前完成?

mysql - 使用 DISTINCT 优化 mysql 查询 Suppliers <-> Products <-> Categories

Mysql select - 全部来自左侧且仅匹配右侧表

c# - LINQ连接多表

java - 如何使用Java直接使用字符集对字节数组进行编码/解码/转码

mysql - MySQL和mariadb数据库的存储和查询效率?

java - 表观死锁 c3p0 0.9.5.1 spring

visual-studio-2008 - 如何在Doxygen注释中包括 '<'?

c++ - Windows - VC++ - 不能在静态构建中使用 "_ASSERTE"