2010-12-04 22 views
1

これを正しく説明できるかどうかを見ていきましょう。一致するレコードを1つだけ選択してください

私は(残念ながら)アクセスを使用しています。

私は、次のようなテーブルを持っている:

Date  | ResID | Med | time | emar | 
___________+_________+_________+_________+________| 
11/18/2010 |  72 | Aspirin | 8:00 AM | 427 | 
11/19/2010 |  72 | Aspirin | 8:00 AM | 427 | 
11/20/2010 |  72 | Aspirin | 8:00 AM | 427 | 
11/18/2010 |  72 | Aspirin | 2:00 PM | 427 | 
11/19/2010 |  72 | Aspirin | 2:00 PM | 427 | 
11/20/2010 |  72 | Aspirin | 2:00 PM | 427 | 
11/18/2010 |  73 | Aspirin | 7:00 AM | 428 | 
11/19/2010 |  73 | Aspirin | 7:00 AM | 428 | 

...etc 

私は、これははるかに優れて設定することができ知っているが、残念ながらこれは私が仕事にどのと持っているすべてです。

ResID、Med、Time、emarの一致するセットごとに1行だけを返すようにこのデータベースにクエリを実行するにはどうすればよいですか?だから私はこの例から探していた結果は次のようになります。

Date  | ResID | Med | time | emar | 
___________+_________+_________+_________+________| 
11/18/2010 |  72 | Aspirin | 8:00 AM | 427 | 
11/18/2010 |  72 | Aspirin | 2:00 PM | 427 | 
11/18/2010 |  73 | Aspirin | 7:00 AM | 428 | 

日は、それが指定された範囲内でなければならないことを除いては問題ではありません:date_maxからdate_min。これは、ColdFusionに違いがある場合に発生します。

+0

ような何かを書くべき 'XXXX-XXXX' と言うところ

Select * from TABLENAME where date>date('xxxx-xx-xx') and date<('xxxx-xx-xx') 

を探していない場合、最初の列(Date)を表示する目的は何ですか? – JeffO

答えて

2
SELECT MIN(Date) AS Date, ResID, Med, time, emar 
from YourTable 
WHERE Date > date_min and Date < date_max /*Might need >= and <= if inclusive*/ 
GROUP BY ResID, Med, time, emar 
0

あなたが何か書く必要があります:それはあなたがしている結果セットでは2010年11月30日

関連する問題