Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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
SQL将两个表连接在一起,其中值位于两行之间,您将得到第一行_Sql_Oracle - Fatal编程技术网

SQL将两个表连接在一起,其中值位于两行之间,您将得到第一行

SQL将两个表连接在一起,其中值位于两行之间,您将得到第一行,sql,oracle,Sql,Oracle,表LSF ID LID FV TYPE 28 22 1 INCREMENTAL 29 22 5 FULL 表LFG ID WHAT WHERE TYPE 22 V1 4444 WHITE ID是主键,是两个表上的序列 现在我想连接这两个表 SELECT LFG.* FROM LSF sf, LFG fg WHERE sf.LID =

表LSF

ID  LID     FV      TYPE            
28  22      1       INCREMENTAL     
29  22      5       FULL            
表LFG

ID  WHAT    WHERE   TYPE
22  V1      4444    WHITE   
ID是主键,是两个表上的序列

现在我想连接这两个表

SELECT LFG.* FROM LSF sf, LFG fg WHERE sf.LID = fg.ID AND ...
我想从LSF表中得到第一行。但它是空的

如果SELECT语句中的sf.FV为1、2、3或4,则返回第一行,如果为5或更多,则返回表LSF的第2行。如何像这样写select

编辑:

我想要什么

在表中,LSF FV表示从何时开始是增量或完整的。如果版本1是增量的,那么版本2、3或4也是如此。但如果我有版本5或更高,则已满


现在我的问题是,我没有在表中存储每个版本,我只是说从这里开始是增量的,从这里开始是完整的。我的问题是,当我有版本3时,如何编写一个select语句,如何知道这是从1到5,这意味着增量。

尝试一下,看看你是否得到了你想要的。它应返回与FV设置为1、2、3或4的盖子相匹配的最新版本

SELECT LFG.* 
FROM LSF sf, LFG fg 
WHERE sf.LID = fg.ID 
AND sf.FV >= 1 
AND sf.FV < 5
ORDER BY sf.FV DESC;
请尝试此查询

SELECT 
  b.*, a.* 
FROM 
  LSF ls,
  LFG b, 
  (SELECT 
     lid, 
     min(ID) as id 
  FROM 
     LSF 
  GROUP BY 
     lid) a
WHERE 
  a.lid = b.id AND a.id = ls.id;
试试这个:

SELECT LFG.* 
FROM LSF sf, LFG fg 
WHERE sf.LID = fg.ID 
AND sf.Type='INCREMENTAL'
ORDER BY sf.Type DESC;
…并以某种方式包括sf.FV=3

从联接中涉及的表中分别选择所需的列

         select t1.someDate, t1.description, t2.blahblah, t2.someOtherColumn
         from 
         foo as T1
         inner join widget as T2
         on T1.orange = T2.banana

这个问题毫无意义,为什么?这是有道理的。我不知道如何写select语句,你需要多解释一下你想做什么,因为它不是100%清楚!?您使用的是什么RDBMS?仍然有一些事情不清楚:为什么表LFG包含4列,但您提供了10个值?LFG和LFS之间的连接在哪里?LFG不包含任何version/FV列?谢谢,但是sf.FV不仅仅是1和5。可以是任何数字。这仅仅意味着从哪里到哪里是完整的。这个解决方案必须适用于所有版本。你是个天才,尼纳德:我想就是这个了。简单的解决方案,但我尝试使用分析oracle函数:S
  SELECT LFG.* FROM LSF sf, LFG fg WHERE sf.LID = fg.ID AND ...
   and I want to get first row from LSF table. But is empty.
         select t1.someDate, t1.description, t2.blahblah, t2.someOtherColumn
         from 
         foo as T1
         inner join widget as T2
         on T1.orange = T2.banana