1

我有一大组数字用作比较两个查询的变量。查询运行起来相当耗时,因此我希望能够自动执行此操作以整理出两个查询返回的具有不同行的所有变量。我愿意接受任何建议。

用于@key 的数字在另一台服务器上。我有第三个查询来返回这些数字。

我将在下面发布两个查询。

  DECLARE @SubscriberID bigint
  DECLARE @key int
  set @key = 128604576

  SELECT TOP(1) @SubscriberID = M.WarehouseID
  FROM vwCache_Full V (NOLOCK)
  LEFT JOIN Latest m (NOLOCK)
  ON m.WarehouseID = v.PersonKey 
  WHERE V.memberid = @key   
  ORDER BY
  V.tapeid DESC, V.linekeyid DESC 


  SELECT TOP 1
        AddrLn1, AddrLn2 
  FROM Latest 
  WHERE 
        WarehouseID = @SubscriberID 
  ORDER BY 
        TapeID DESC, LineKeyID DESC

-- 下一个查询

  SELECT TOP 1 m.AddrLn1, m.AddrLn2
  FROM Latest m (NOLOCK)
  INNER JOIN Latest p ON m.WarehouseID = p.WarehouseID 
  WHERE m.SSN = @key
  ORDER BY m.TapeID Desc

在这里找到了另一个有助于解决此问题的答案...使用...

DECLARE @RowsToProcess  int
DECLARE @CurrentRow     int
DECLARE @SelectCol1     int

DECLARE @table1 TABLE (RowID int not null primary key identity(1,1), col1 int )  
INSERT into @table1 (col1) SELECT col1 FROM table2
SET @RowsToProcess=@@ROWCOUNT

SET @CurrentRow=0
WHILE @CurrentRow<@RowsToProcess
BEGIN
    SET @CurrentRow=@CurrentRow+1
    SELECT 
        @SelectCol1=col1
        FROM @table1
        WHERE RowID=@CurrentRow

    --do your thing here--

结尾

4

0 回答 0