-1
調査患者の日付を含む表があります。1年の違いで同じテーブルの値を表示するにはどうすればよいですか?
select inspection_date from inspection
患者の研究は、定期的にランダムに行われるのではない。 最初の研究+1年を通して患者に最も近い最初の研究と研究に関する情報を1行に表示したいとします。
調査患者の日付を含む表があります。1年の違いで同じテーブルの値を表示するにはどうすればよいですか?
select inspection_date from inspection
患者の研究は、定期的にランダムに行われるのではない。 最初の研究+1年を通して患者に最も近い最初の研究と研究に関する情報を1行に表示したいとします。
SELECT patient, firstStudy,
(SELECT TOP 1 inspection_date,
ABS(DATEDIFF(s,DATEADD(y,firstStudy,1),inspection_date)) AS diff FROM inspection
WHERE patient=myPatientsFirstStudy.patient
ORDER BY diff
) AS studyClosestAfterYear
FROM (SELECT patient,
(SELECT TOP 1 inspection_date FROM inspection
WHERE patient=myPatientsWithStudy.patient
ORDER BY inspection_date
) AS firstStudy
FROM (SELECT DISTINCT patient FROM inspection
) AS myPatientsWithStudy
) AS myPatientsFirstStudy
私はしますか?私は本当にそれを表示したいですか?もしそうなら、私はサンプルデータと望ましい結果から始めます。 –
**あなたの質問を** [編集] **し、そのデータに基づいてサンプルデータと予想される出力を追加してください。 [**フォーマットされたテキスト**](http://stackoverflow.com/help/formatting)、** **スクリーンショットはありません**(http://meta.stackoverflow.com/questions/285551/why-may -i-not-upload-images-of-code-on-so-asking-a-question/285557#285557)。 ** [編集] **あなたの質問はコメントにコードや追加情報を投稿しません。 –
どのDBMSを使用していますか? Postgres?オラクル? –