2017-06-05 10 views
0

私はこれを調べましたが、うまくいきませんでした。私はいくつかのnull値を持っている複数の列の最大日付を返すために探しています。私のクエリは、すべての列に対してnullを返すだけです。実際の最大日付はどのように取得できますか?前もって感謝します。SQL Server:NULL以外の何も返さない最大の日付クエリ

create table Results 
(
    PatientName varchar(50), 
    Bordetella datetime, 
    [Canine Distemper] datetime, 
    Rabies datetime 
); 

select 
    PatientName, Bordetella, [Canine Distemper], Rabies 
from 
    (select 
     PatientName, 
     ReminderName, 
     DueDate 
    from 
     Results) d 
pivot 
(
    max(DueDate) 
    for ReminderName in (Bordetella, [Canine Distemper], Rabies) 
)piv 
; 
+0

あなたはあまりにもいくつかのサンプルデータを持っていますか?また、テーブル作成の構文をチェックすることもできます。私はあなたのクエリと一致するとは思わない – Tom

+0

また、あなたのメイン 'SELECT'では'狂犬病 'がありますが、あなたのサブクエリではありません。 – JNevill

+0

@JNevillそれは大丈夫です – Tom

答えて

0

これは読んでする必要があります。

create table Results 
(
    PatientName varchar(50) 
    ,ReminderName varchar(50) 
    ,DueDate datetime 
); 

select 
    PatientName 
    ,Bordetella 
    ,[Canine Distemper] 
    ,Rabies 
from (
    select 
     PatientName 
     ,ReminderName 
     ,DueDate 
    from Results 
) d pivot (
    max(DueDate) for ReminderName in (Bordetella, [Canine Distemper], Rabies) 
) pvt 
関連する問題