TSQL:两个表的组合

TSQL:两个表的组合,tsql,Tsql,我有两张桌子 A B 我想制作一个表格,其中第一个表格有一行,第二个表格有一行。第二个表中的行应该是第一行,它比第一行中的日期小。应该是这样的: 身份证日期 111 2018-10-01 --> table A 111 2018-08-01 --> table B 111 2018-05-01 --> table A 111 2017-12-01 --> table B 我不知道怎么做。你能帮我吗?你能试试吗(如果在sql server中): 它不好用。现在我从B中得到

我有两张桌子

A

B

我想制作一个表格,其中第一个表格有一行,第二个表格有一行。第二个表中的行应该是第一行,它比第一行中的日期小。应该是这样的:

身份证日期

111 2018-10-01 --> table A
111 2018-08-01 --> table B
111 2018-05-01 --> table A
111 2017-12-01 --> table B
我不知道怎么做。你能帮我吗?

你能试试吗(如果在sql server中):


它不好用。现在我从B中得到min(date),但我需要比A中更小的日期,但从表B中得到最大的日期。我需要为每一行单独列出这一点。不清楚这到底是您的预期结果。我无法从结果中推断出来。标准是什么,行是如何选择的(例如,为什么第4行是表B中的第3行?)?你为什么要把桌子交叉放在一起?这是相当不寻常的,让我猜猜,您的数据库设计很笨拙,应该重新设计。
Idcard AgrNumb Date
111    x46     2018-10-01
111    x35     2018-05-01
111    x20     2017-12-01
111    x42     2018-08-01
111 2018-10-01 --> table A
111 2018-08-01 --> table B
111 2018-05-01 --> table A
111 2017-12-01 --> table B
        Select T2.*, EmpID  from Table1 T1
        outer apply(
         select t2_in.idCard, min(date) as DateT2
         from table2 t2_in 
         where t2_in.idCard = t1.IDcard
         group by t2_in.idCard
        )t2