1

製品が初めて品質テストに合格したかどうかを表示するクエリを作成することになっています。たとえば、製品番号 1234 が最初のテストに失敗した場合、値は表示されません。私は SQL Server 2005 を実行しています。おそらくCOALESCEステートメント、または case when ステートメントを使用することを考えています。ここにいくつかのサンプルデータがあります:

product#  test result   datetime
1102494    Fail         20111129:07:57:50.203
1102494    pass         20111130:16:48:28.140
1102496    pass         20111129:11:09:32.140
1102498    pass         20111129:08:21:10.218
4

2 に答える 2

3

最初の結果のみを表示し、最初の結果が「合格」の場合のみ表示します。

select *
  from (
select *, rn=row_number() over (partition by [product#] order by [datetime] desc)
  from tests
     ) x
 where rn=1 and result = 'pass';
于 2012-10-31T02:40:24.703 に答える
2

test_result ='pass'の場所を選択できませんか?多分私はあなたの質問を誤解しました

于 2012-10-31T02:23:59.313 に答える