私は画像のようなテーブルを持っています。ここでは、ユーザー 'A'にはId = 2のアウト・タイムはありません。 MyTableからUserId、Name、MIN(inTime)、およびMAX(outtime)を選択すると、First InTimeとLast OutTimeが表示されます。そのようなものを選択するのではなく、最後にUser 'A'をnullに設定したいと思います。どのように可能ですか?デフォルトではアドバンス
-3
A
答えて
0
私はあなたがSQL Server
を使用していると仮定:
select *
from(select name, userid, dateatt
from table
group by name, userid, dateatt)t
cross apply(select top 1 intime from table
where userid=t.userid and dateatt=t.dateatt order by id)i
cross apply(select top 1 outtime from table
where userid=t.userid and dateatt=t.dateatt order by id desc)o
+0
Giorgi Nakeuri、ありがとうございました。 – DevinBegin
0
で
おかげデータを評価する際、MAXとMINはNULLが含まれていません。
下記のクエリを参照してください。hereから取得しました。
我々はどこにでも私たちのデータに上がってくることはありません将来のある期日に任意のNULL終了日を置き換えるためにCOALESCEを使用しますが、2099年12月31日には、このための合理的な日付のように思えます。次に、我々はNULLのうちの12/31/2099として評価され、私たちのテーブル内の他のどの日付よりも大きい日付のMAXを取る。それをCASE文で囲み、2013年12月31日の日付をNULLに戻し、StoreIDでデータをグループ化します。
SELECT Name, CASE WHEN MAX(COALESCE(outtime, ’12/31/2099′)) = ’12/31/2099′ THEN NULL ELSE MAX(outtime) END AS outtime FROM WorkSchedule GROUP BY Name
関連する問題
- 1. SQLを選択
- 2. SQLテーブルデータの挿入
- 3. 左結合テーブルデータを配列として選択する方法
- 4. テーブル内のすべてのテーブルデータをJqueryで選択
- 5. Linq Entity Framework:IEnumerableへの反復データなしでテーブルデータを選択
- 6. 選択オプションに基づいてテーブルデータを変更する方法
- 7. SQL選択行
- 8. SQL列選択
- 9. 選択SQLグループ
- 10. SQL:選択クエリ
- 11. SQL Server - 選択
- 12. SQL行選択
- 13. を選択し、SQL
- 14. SQLロジックを選択
- 15. SQL行を選択
- 16. SQL値を選択
- 17. SQLベストプラクティスを選択
- 18. MYSQL左結合テーブルデータの選択 - 論理エラー
- 19. SQL JOIN IN選択
- 20. SQLクエリの選択
- 21. SQL選択質問
- 22. SQLクエリの選択
- 23. 選択テーブル(SQLツリーマージ)
- 24. SQLのピボット選択
- 25. SQLワイルドカードの選択
- 26. sql GROUP HAVING選択
- 27. SQLワイルドカードの選択
- 28. SQL XML選択値
- 29. SQLの相互参照テーブルデータ
- 30. SQL Serverのテーブルデータの更新
http://meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images- 285557#285557 –