Sql server 使用SQL查询以相同的顺序获取完全匹配的行

Sql server 使用SQL查询以相同的顺序获取完全匹配的行,sql-server,Sql Server,我有两个表格,数据格式如下。我需要帮助,以便使用SQL Server查询从表2中以与表1中相同的顺序获取匹配行 选项卡1: sno codeseqlnodocno 38452556363631anydoc 384625569691anydoc 384725574741anydoc 38652556464642anydoc 38662557070702anydoc 选项卡2 sno codeseqlnodocno 539512556363 21演示1 53952 2556969 21演示1 539

我有两个表格,数据格式如下。我需要帮助,以便使用SQL Server查询从表2中以与表1中相同的顺序获取匹配行

选项卡1:

sno codeseqlnodocno
38452556363631anydoc
384625569691anydoc
384725574741anydoc
38652556464642anydoc
38662557070702anydoc

选项卡2

sno codeseqlnodocno
539512556363 21演示1
53952 2556969 21演示1
53953 2557474 21演示1
53954 2557474 21演示1
53955 255737373 21演示1
54086 2556464 22演示1
5408725570707022演示1
54088 2557474 22演示1
54089 2556363 115演示2
540902556969115演示2
540912557474115演示2
54092 2557474 116演示2
54093 2557373 116演示2
540942557474116演示2

我需要这个格式的输出结果

sno codeseqlnodocno
539512556363 21演示1
53952 2556969 21演示1
53953 2557474 21演示1
54086 2556464 22演示1
5408725570707022演示1
54089 2556363 115演示2
540902556969115演示2
54091 2557474 115演示2

尝试此查询

SELECT T2.sno, T2.codeseq, T2.lno, T2.docno 
FROm Tab1 AS T1 
INNER JOIN Tab2 AS T2
ON T1.codeseq = T2.codeseq ORDER BY T2.lno ASC
试试这个:

SELECT sno
    ,codeseq
    ,lno
    ,docno
FROM tab2
WHERE sno + codeseq + lno + docno IN (
        SELECT sno + codeseq + lno + docno
        FROM tab1
        )
尝试此操作(如果仅检查代码序列):


好的,我们知道您有需求,但这并不能帮助您编写需求代码。付出一些努力,你们就会发现它并没有那个么难。这个问题似乎离题了,因为它是关于OP要求解决问题的。@almasshaikh:这是我关于stackoverflow的第一个问题。我无法得到结果。请您阅读针对kumar回复的评论,并提出任何合适的答案。蒂克斯库马尔:这不符合我的目的。我只想获得匹配行,而此联接返回更多行,而我只需要按照我在问题的结果部分中提到的精确顺序匹配行。@narra:上述查询从tab2中为Tab1中匹配的codeseq选择行。你想从“精确序列”中分辨出什么?精确序列的意思。我在tbl 1中有5行。三行属于行号1,两行属于行号2。我想在TBL2中按行的顺序搜索这些记录。正如我在结果文件中提到的。第1行上tbl 1的前三行与第22行docno demo1处的tbl 2的前三行匹配(与现有tbl 1在同一行序列中),然后在第115行docno demo2处找到相同的行(行序列tbl1)。表1的第二行号有两条记录,这些记录仅与表2第22行docno demo1的两条记录匹配。因此,在总体结果中。我应该只有我在输出结果中提到的八行。谢谢
select * from tab2 where codeseq in(select codeseq from tab1)