我想这不是那么难,但我无法得到它。
例如我有表T1
:
ID
-----
1000
1001
我有桌子T2
:
ID GROUP DATE
--------------------------
1000 ADSL 2.2.2012
1000 null 3.2.2012
1000 NOC 4.2.2012
1001 NOC 5.2.2012
1001 null 6.2.2012
1001 TV 7.2.2012
我只想从具有作为值的T1
行中进行选择,但前提是group是.GROUP
NOC
T2
NOC
DATE
T2
所以我在这种情况下的结果只是1001
因为它的最低DATE
5.2.2012 Group 是NOC
!
我不想要任何连接,也不能使用 ID ( where id=1000 or id=1001
) 的默认值,因为这只是一些大表的示例。
重要的是我不能使用t1.id = t2.id
,因为在我使用它的某些应用程序中,我不能编写整个 SQL 表达式,而只能写部分。我只能使用id。
我试过类似的东西:
select id
from t1
where
id in (select id from t2
where group = 'NOC'
and date in (select min(date) from t2
where id in (select id from t1)
)
)
但这不起作用。
我知道这似乎有点令人困惑,但我真的无法使用where t1.id = t2.id
谢谢