Sql查询结果重复

问题描述 投票:-1回答:1

你好,首先我的表t1是这样的

ID  cid     enter     sort
===================
1             20
2      1                5 
3.     1.               6
4             10    
5      4                 2
6.             30

我需要得到这样的结果

ID  enter    sort     stock
===============================
1    20       11        9
4    10        2          8
6.    30.      0.        30

什么意思取所有id,其中cid为空,取enter号,然后取所有cid,其中cid=id,取排序号之和,然后最后股票=enter-排序。

请在此输入图片描述

请在此输入图片描述

请在此输入图片描述

就像mu db一样,结果一定是这样的。

ID  enter    sort     stock
===============================
18    1P       6        4

我的疑问

 SELECT        p_stock.id, p_stock.code, p_stock.quant_entr, SUM(p_stock_1.quant_sort) AS Expr1
FROM            (p_stock INNER JOIN
                         p_stock p_stock_1 ON p_stock.id = p_stock_1.cid)
HAVING        (p_stock.id = 18) AND (p_stock.code = 27)

谢谢你的帮助

sql vb.net ms-access
1个回答
0
投票

我想你可以用 join:

select t1.id, t1.enter, t2.sort, (t1.enter - t2.sort) as stock
from t as t1 join
     t as t2
     on t2.id = t1.id + 1
where t1.id in (1, 3)   -- or perhaps all odd numbers
© www.soinside.com 2019 - 2024. All rights reserved.