私には奇妙な質問があります。私は最後に追加したテキストの変数は、連合を阻止することが心配ですSQL:指定された列を除いてすべての重複を防ぐ
SELECT EOU.EventSessionKey, EOU.EventSourceID, EOU.EventSeq,
EOU.EventColumnName, EOU.ProSymbol,
EOU.ProKey, tP.isActive, tP.Description,
'POSITIVE' AS ErrType FROM EOU
LEFT JOIN dbRunoff.dbo.tPro tP
ON tP.Symbol COLLATE DATABASE_DEFAULT
= EOU.ProSymbol COLLATE DATABASE_DEFAULT
WHERE tP.IsActive = 1 AND (EOU.ProKey IS NULL OR EOU.ProKey <= 0)
UNION
SELECT EOU.EventSessionKey, EOU.EventSourceID, EOU.EventSeq,
EOU.EventColumnName, EOU.ProSymbol,
EOU.ProKey, tP.isActive, tP.Description,
'DUPLICATE' AS ErrType FROM EOU
LEFT JOIN dbRunoff.dbo.tPro tP
ON tP.Symbol COLLATE DATABASE_DEFAULT
= EOU.ProSymbol COLLATE DATABASE_DEFAULT
JOIN ProFilter PF ON PF.ProKey = tp.ProKey
WHERE tP.IsActive = 1 AND (EOU.ProKey IS NULL OR EOU.ProKey <= 0))
:しかし私は、各テーブルには、私はどこから来たSELECT句の指定に書いた余分な変数を持って、任意の重複列を望んでいません重複した値を適切に削除できません。ユニオンがテーブル間で重複値を削除することを保証する(シンプル/効率的な)方法はありますが、ユニオンに重複を読み取らせないテキスト変数は無視されますか?
私はこれを行う簡単な方法を探しています。私はこれを強要するいくつかの方法を知っていますが、効率とスピードは懸念です。
だけでなく、それが重複した(最後の列がユニークだった)あなたが保つ行の最後の列に属性をしたいと思われる値だった場合?ポジティブか重複? – scsimon
'Duplicate'、その名前は私が追跡している特定のタイプのイベントを参照しています。 –
どちらのサブクエリにも重複が表示されますか? 'union'は、そのコンポーネントの間および内部の両方の重複を削除します。 –