結合からテーブルを更新する際に問題が発生しています。この種の更新を何度も行いましたが、現在は機能していません。元のクエリは次のとおりです。
select
surveydatakey
,a.Strata as [surveydata strata]
,SurveyPeriod
,DateOfSurvey
,StationLocation
,a.CardType
,a.timeperiod
,station_entrance
,Direction
,DayType
,EntranceType
,b.Strata as ActuaStrata
,StartDate
,currentdate
from surveydata a
inner join MAP_Entrance_Population b
on a.station_entrance_id = b.station_entrance_id
and a.timeperiod = b.tp
and a.strata <> b.strata
where mode = 'train'
and a.strata not in (1,14,15,21,22,23)
and dateofsurvey between startdate and currentdate
order by a.strata
これが更新クエリです。
begin tran
update a
set a.strata = b.strata
from surveydata a
inner join MAP_Entrance_Population b
on a.station_entrance_id = b.station_entrance_id
and a.timeperiod = b.tp
and a.strata <> b.strata
where mode = 'train'
and a.strata not in (1,14,15,21,22,23)
and dateofsurvey between startdate and currentdate
検索クエリは 218 の結果を生成し、更新は 218 の結果を変更すると述べています。私の検索クエリには、a.strata <> b.strata という条件があります。この2つを対等にするのが私の目標です。そのため、更新クエリの後、選択クエリで結果が得られないはずだと考えました。しかし、実際には何も変わりません。更新を行った後も、同じ 218 の結果が得られます。
何か案は?