Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从一行减去另一行_Mysql_Sql_Sql Server_Sql Server 2008_Tsql - Fatal编程技术网

Mysql 从一行减去另一行

Mysql 从一行减去另一行,mysql,sql,sql-server,sql-server-2008,tsql,Mysql,Sql,Sql Server,Sql Server 2008,Tsql,请帮帮我,我一整天都解决不了这个问题 我有像这样的争吵 Id Serial StockCode StockTitle ActionType 1 123 D-005 Desk Income 2 345 C-005 Chair Income 3 123 D-005 Desk Expense 4 685 C-005 Ch

请帮帮我,我一整天都解决不了这个问题 我有像这样的争吵

Id   Serial  StockCode  StockTitle  ActionType  
1    123     D-005      Desk        Income      
2    345     C-005      Chair       Income      
3    123     D-005      Desk        Expense     
4    685     C-005      Chair       Expense     
5    345     C-005      Chair       Expense     
任务是计算股票序列余额。如果有ActionType收入的行,请插入结果行(使用UNION或smth else)。 结果行应从具有相同序列号的另一行中减去一行。所以在我们的例子中 结果表应该类似于

Id   Serial  StockCode  StockTitle  ActionType  
1    123     D-005      Desk        Income      
2    345     C-005      Chair       Income      
3    123     D-005      Desk        Expense     
4    685     C-005      Chair       Expense     
5    345     C-005      Chair       Expense  
___________________________________________
*    685     C-005      Chair       Balance 

The 

我构建了一个小提琴,它将收入计算为+1,支出计算为-1,并给出每个序列号的总计数。内置MySQL,但看起来非常通用

Select sum( IF(ActionType = 'Income', 1, -1) ) as Balance, 
 Serial, StockCode, StockTitle
 from Table1
GROUP BY serial;
结果是

COUNT   SERIAL  STOCKCODE   STOCKTITLE
 0          123 D-005           Desk
 0          345 C-005           Chair
-1          685 C-005           Chair
以你为例,我认为这是正确的


SQLFIDLE文本到DDL导入是梦幻般的:)

您使用的是什么客户端?还是纯sql?我使用sql Management Studio+WPF作为服务器的客户端+Devexpress,所以您可能应该删除mysql标记,然后?MYSQl也有同样的逻辑,我不认为这取决于客户端。