0
私は、エンジンのhistroyデータを照会するSQLデータベースを持っています。この機能の1つは、ストアドプロシージャが毎日特定のイベントのすべてのデータを検索し、イベントが見つかった場合は新しいテーブルに挿入することです。SQL Server、Canは1つの値に対して2つの列を考慮に入れていますか?
ID/ID_Location/IDDown/IDUp/DtDown/DtUp/TimeDifference/IsExempt/Reason/Details/OrigDtUp
とSQLクエリは次のとおりです:
問題は、このデータは一意でなければならないということです...
表のヘッダは以下の通りです
insert into exempts(ID_Location, iddown, idup, dtdown, dtup, timedifference)
select ID_Location, iddown, idup, dtdown, dtup, DATEDIFF(MINUTE, dtdown, dtup) as timedifference
from @tmptbl
except
select ID_Location, iddown, idup, dtdown, dtup, timedifference from exempts
しかし、私は必要DtUp
とOrigDtUp
の両方の列をチェックし、ユーザーがDtUp
をliの任意の値に変更できるため、時差を無視するクエリ元のDtUp
の値がOrigDtUp
に移動するとレコードが異なるので、レコードは元の値に再挿入されます。
ありがとうございます! ニール
大感謝。プロシージャを変更しようとすると、次のエラーが表示されます。メッセージ209、レベル16、状態1、プロシージャGETEXEMPTS、行59 「ID_Location」というあいまいな列名。 メッセージ209、レベル16、状態1、プロシージャGETEXEMPTS、行59 あいまいな列名 'iddown'。 選択行には? – neilrudds
私はtを追加するコードを編集しました。プレフィックス – Jimbo
優秀!!あなたのすべての協力に感謝します! – neilrudds