0
我有以下在proc中運行的查詢。函數MyFunction返回一個表,並且該查詢加入該表。當提供@MyArg值時,該過程非常有用。但是,我想知道是否有辦法在數據庫中的所有@MyArg值上運行此操作。我確信有一種方法可以在一個循環內完成它,但我知道在db層通常要避免循環。在一個參數的幾個不同的值上運行一個proc
我真的只需要執行此操作以檢查(並可能清理)一些不良數據。
SELECT ColumnA, ColumnB, ColumnC
FROM
(
SELECT
a.ColumnA,
a.ColumnB,
a.ColumnC,
ROW_NUMBER()
over(partition by a.ColumnD order by f.ColumnX) as RowNum
FROM dbo.MyTableA AS a
INNER JOIN dbo.MyFunction(@MyArg) f ON f.myID = a.myID
WHERE (a.myBit = 1 OR a.myID = @MyArg)
) AS x
WHERE x.rownum = 1;
如果您沒有提供@MyArg值會發生什麼? –
你能否提供這個功能? –