1

そのタイトルが合っているかどうかはわかりませんが、これが私のシナリオです...

次のようなテーブルがあります。

Key1     Key2   Scheduled    Data
----------------------------------
abc123    io       null      asdf    
abc123    go     01/02/13    asdf
abc321    er       null      asdf 
abc321    fr       null      asdf

他の列に関係なく個別のセットを取得するには、個別を選択する必要がありKey1ますが、スケジュールされた列が設定されている天気を示すブール値も必要です。理想的には、私の結果セットは次のようになります

Key1     IsAnyScheduled
-------------------
abc123      True
abc321      False

私は SQL の第一人者ではなく、これを行う方法がわかりません。また、私たちのシステムは SQL Server に基づいていますが、SQL のサブセットを実行します。可能であれば、最も基本的な関数でこれを書くのを手伝ってくれませんか?

ありがとう

4

2 に答える 2

3

use MAXCASEおよびGROUP BY句。

SELECT  Key1,
        CASE WHEN MAX(Scheduled) IS NULL
            THEN 'False'
            ELSE 'TRUE'
        END AS IsAnyScheduled
FROM    tableName
GROUP   BY Key1
于 2013-01-15T16:00:04.730 に答える
0

次のグループが必要です。

select key1, (case when count(Scheduled) = 0 then 'false' else 'true' end) as IsAnyScheduled
from t
group by key1
于 2013-01-15T16:00:09.263 に答える