2009-07-20 9 views
1

私のSQLスキルが不足していることを認める最初の人になります。今...SQLの基本的な質問の質問

私たちには、Id、RootId、DateTimeの3つの列を持つPostsというデータベーステーブルがあります。

私がしたいのは、(DateTimeによる)最後の20個のRootId値を取得することです。

ただし、注意が必要です。RootIdがNULLの場合があります。その場合は、レコードを別名とみなし、NULLの代わりにIdを返す必要があります。

クエリは何ですか?この仮定

答えて

2

select distinct top 20 isnull(rootid,id) from posts order by datetime desc

は、MS SQL Server用

+0

ISNULL(rootid、ID)ビットが奇数であると思われます。なぜnotnull(rootid、0)? – JohnFx

+0

質問をどのように受け取って、精神的にそれをクエリに変換することができますか?あなたは答えが正しい。 – core

+0

JohnFx - 元の投稿を読んでください。私は尋ねられたものに答えました... – YogoZuno