2017-04-06 5 views
-1

これが可能かどうかわかりませんが、SQL Server SELECT文をSQL Serverカスタム関数に渡すことが可能かどうか疑問に思っていました。任意のテーブル内のデータを交差と比較し、同じデータを持つテーブルを返すことができる必要があります。SQL Server機能にselect文を渡す

ただし、これを実行する必要がある表にはすべて、さまざまな列があります。私は20種類のテーブルを比較する必要があります。これは可能でしょうか?関数またはストアドプロシージャに#tableVarを投げることは可能ですか?ここで

は私が手動のプロセスのために、今やっているものです、Selectステートメントは、セキュリティのために、わずかに変更されています:上記のクエリのための

Select * into #tableFirst FROM [dbo].~scrubed~ 
where insertdate >= '2016-09-05' and InsertDate < '2016-09-06'; 
Select * into #tableSecond FROM [dbo].~scrubed~ 
where insertdate >= '2016-09-06' and InsertDate < '2016-09-07'; 

select onion.* into #tableIntersect from (
Select * from #tableFirst 
intersect Select * from #tableSecond 
) as onion; 
--Return Data 
Select 'Row Matching' as RowMatching, * from #tableIntersect 
+0

あなたが持っているもののコード例を提供し、あなたが望むものの例を表示することができます – Jpsh

+5

ユーザー定義関数内では動的SQLを使用できません。ただし、ストアド・プロシージャ内では動的SQLを使用できます。 –

+0

私は現在何を試しているのですか? – Terramune

答えて

1
select count(*), a.column1, a.column2 from (
select * from [dbo].~scrubed~ 
union all 
select * from [dbo].~scrubed~) a 
group by a.column1, a.column2 
having count(*) > 1 

結果が一致しました。