在此示例中,我将连接两个表。
DECLARE @AA TABLE
(
A1 INT,
A2 INT
)
DECLARE @BB TABLE
(
B1 INT,
B2 INT
)
INSERT INTO @AA values (1,1)
INSERT INTO @AA values (2,2)
INSERT INTO @AA values (3,3)
INSERT INTO @BB values (1,1)
INSERT INTO @BB values (2,2)
INSERT INTO @BB values (3,3)
SELECT A1, A2, B1, B2 from @AA a
JOIN @BB b on b.B1 = a.A1
where 1=1
and a.A1 in (1,2)
and b.B1 in (select max(bb.B1) from @BB bb JOIN @AA aa on bb.B1 = aa.A1 where aa.A1 in (1,2))
上面的代码正在工作,因为我正在寻找结果:“2,2,2,2”
有没有更有效的方法来做到这一点?内部选择与外部选择几乎相同,对我来说它看起来不太好。