2017-07-31 3 views
1

過去に最長期間滞在したテナントのプロフィールID、氏名、連絡先番号を取得するクエリを作成しようとしていますSQLサーバーでmax(DATEDIFF)とサブクエリをリンクする方法

ここで、プロファイルIDは、プロファイルの主キーとテナント履歴の外部キーです。テーブルbの日付差を実行してテーブルaの情報を取得するには

select profile_id, first_name+ ' '+ last_name as Full_Name , phone from dbo.Profiles where 
     profile_id= 
     (SELECT profile_id from dbo.Tenancy_histories where max(DATEDIFF(day,move_in_date,move_out_date)); 
+0

move_out_dateがnullのmax move_in_dateを探していますか?彼らは移動していないと歴史的な日付に最大限の動きを持っていることを示唆?彼らがまだそこにいるかどうかにかかわらず、そこに一番長く滞在した人ですか? –

答えて

0

どうやってですか?

select profile_id, first_name+ ' '+ last_name as Full_Name , phone from dbo.Profiles where 
    profile_id= 
    (SELECT top 1 profile_id from dbo.Tenancy_histories order by DATEDIFF(day,move_in_date,move_out_date); 
+1

'order by max(..)'はうまくいきません。あなたが 'トップ1 'を持っていれば、それは' datediff(..)DESC'による注文です。 –

+0

@NenadZivkovicに感謝します。 – Chuck

+0

ありがとうございました –

関連する問題