Microsoft SQL Server Management Studioで、あるデータモデルから別のデータモデルにデータを移動するための移行スクリプトを作成しています。私が実行している問題は、ソースデータベースで、いくつかのテーブルに私が比較する必要のある外部キー列があることです。コードのスニペット:SQL Server:同じ名前の列を使用する
INSERT INTO TargetDB.dbo.Encounter(EncounterID, PATID, DRG)
Select
visit_occurrence_id,
person_id,
(Select
Case when ((Select top 1 observation_concept_id from SourceDB.dbo.Observation where visit_occurrence_id = visit_occurrence_id) = 3040464)
Then (Select top 1 value_as_string from SourceDB.dbo.Observation where visit_occurrence_id = visit_occurrence_id)
Else NULL End
)
from SourceDB.dbo.Visit_occurrence
あなたが見ることができるように、私はSourceDB.dbo.Visit_occurrenceにvisit_occurrence_idするSourceDB.dbo.Observationにvisit_occurrence_id比較する必要があります。それは、visit_occurrence_idが常にそれ自体と等しいので、SourceDB.dbo.Observationの最初の行から値を戻すだけです。
これを行うには適切な方法はありますか?最初のvisit_occurrence_id値をクエリ内の変数に割り当てることができるので、別の名前を使用できますか?私はここでかなり失われています。
SourceDB.dbo.Observation.visit_occurence –
テーブルのエイリアスを作成することもできます。SourceDB.dbo.Observation AS A - WHERE –
でA.visit_occurenceを使用します。これはチケットです!最初の解決策は完璧に働いた、ありがとう! – JazzBullets