これはそれほど難しいことではないと思いますが、取得できません。
たとえば、私はテーブルを持っています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
NOC
T2
NOC
DATE
T2
したがって、この場合の私の結果は1001
、最小DATE
の 5.2.2012 グループが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
ありがとう