TSQL:两个表的组合
我有两张桌子 A B 我想制作一个表格,其中第一个表格有一行,第二个表格有一行。第二个表中的行应该是第一行,它比第一行中的日期小。应该是这样的: 身份证日期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中得到
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