SQLServer2005に以下のようなテーブルがあります
date_column | field1 | field2
1 June 2012 | xyz | 53
1 June 2012 | abc | 87
2 June 2012 | xyz | 81
3 June 2012 | xyz | 54
3 June 2012 | abc | 53
3 June 2012 | abc | 54
4 June 2012 | mmn | 53
4 June 2012 | xyz | 54
4 June 2012 | mmn | 54
4 June 2012 | mmn | 55
3 June 2012 | abc | 55
3 June 2012 | adf | 86
3 June 2012 | asd | 33
対応するfield2値「53」、「54」、および「55」を持つすべてのfield1値を検索したいと思います。同じ日付内なので、出力は次のようになります。
date_column | field1 | field2
3 June 2012 | abc | 53
3 June 2012 | abc | 54
3 June 2012 | abc | 55
4 June 2012 | mmn | 53
4 June 2012 | mmn | 54
4 June 2012 | mmn | 55
以下のSQLコードを内部結合で試しましたが、機能しません
select date_column, field1, field2 from table1
inner join (select date_column, field1, field2 from table1 where field2
in ('54', '55')) as table2
on table1.date_column = table2.date_column and
table1.field1 = table2.field1
where field1 in ('53', '54', '55')
group by date_column, field1, field2
order by date_column, field1, field2