ソース ファイルのどの行が SQL サーバー データベースで実行されるかを保存しています。私のクエリでは、2 つのファイルの実行が重複しているかどうかを判断したいと考えています。例えば
ライン Run1 Run2 1× 2xx 3 4×
Run1 は 1 行目と 2 行目を実行し、run2 は 2 行目と 4 行目を実行しました。 (run1 & ! run2) を実行すると、1 行目が Run1 でのみ実行されたことがわかります。
実行をビット マスク (varbinary) として保存する場合、SQL クエリで実行を比較するにはどうすればよいですか?
create table runs columns filename varchar, runCoverage varbinary;
select filename, andNot(run, 1) from runs group by filename
これは、実行 (の選択) を他の実行ビット フィールドと比較します。理想的には、レコードのグループのビットフィールド (1 つのコンポーネントからのライン カバレッジ データ) の OR をとり、別のレコードのグループと AND NOT をとりたいと考えています。結果の 1 ビットを数えることができます。これは、テストの 1 つのグループでカバーされているが、別のグループではカバーされていない行の数です...