私のデータベースには、という名前のテーブルがありますtalltree_master
。最初から去勢されていないレコード( )のみを表示したいtree_no field
。dtlastemas
フィールドは去勢の日付を追跡しtalltree_id
、テーブルの主キーですtalltree_master
。たとえば。次のデータを検討してください
tree_no | talltree_id |dtlastemas
1 | 1 | 2008-01-09
2 | 2 |
3 | 3 | 2010-05-06
4 | 4 |
1 | 5 |
5 | 6 | 2001-02-06
2 | 7 | 2009-05-03
3 | 8 | 2010-01-01
6 | 9 |
注: 空白は、去勢が行われたときに特定のツリーが去勢されていないことを意味します。表示したいのは、tree_no 4 と 6 だけです。これは、tree_no 1 と 2 が以前に去勢されたのに対し、最初から去勢されていない唯一の木だからです。しかし、以下のクエリではtree_no
1、2、4、および 6 が表示されます。正しい出力が得られるように where 条件を変更するにはどうすればよいですか。
string query = "select tree_no from talltree_master";
query += " where dtlastemas is NULL";