【发布时间】:2014-02-28 00:44:44
【问题描述】:
我有一张这样的桌子
Id name stock_stat_no stock_end_no
----------------------------------------------------
1 a 2 123
2 b 3 65
3 c 191 199
4 d 201 225
5 e 220 223
6 f 221 224
我试过了
SELECT * FROM IV_STOCK_DETAILS a
where a.STOCK_START_NO in
(select b.stock_end_no
from IV_STOCK_DETAILS B
where b.stock_start_no
between a.stock_start_no AND
A.STOCK_END_NO
AND B.STOCK_END_NO BETWEEN a.stock_start_no AND A.STOCK_END_NO
AND (a.stock_start_no - A.STOCK_END_NO) !=0
)
ORDER BY cod_stock_branch, stock_start_no;
所以我需要将所有行与之前的行逐一检查,如果它现在开始并且结束没有位于前一个打印行的开始和结束范围内。在这种情况下,答案将是 第 2,5,6 行..
我只需要查询
【问题讨论】:
-
你刚刚问了这个问题! stackoverflow.com/questions/21545223/…
-
为什么是 2,5,6?只有 2 和 5 符合这些条件。
-
-1 仅在 30 分钟后重新发布完全相同的问题
-
两个人回答了您的另一个问题。您对他们俩都说“不工作”,但没有提供更多细节。其中一个甚至提供了一个 SQL Fiddle 来证明他们的解决方案有效。您没有与这些人互动,而是重新发布了您的问题,另外两个人浪费了时间提供了类似的答案。表现不佳。