Sql 我是从另一张桌子上拿的,我不知道怎么做,@podiluska想出了一个绝妙的解决方案!再次感谢您的时间……谢谢,但在这个阶段,我不能假设名称(DB1、DB2等)是一致的(它们可以是任何名称),并且可能有任意数量的名称。正如我在编辑中所说,我可以从另一个表栏

Sql 我是从另一张桌子上拿的,我不知道怎么做,@podiluska想出了一个绝妙的解决方案!再次感谢您的时间……谢谢,但在这个阶段,我不能假设名称(DB1、DB2等)是一致的(它们可以是任何名称),并且可能有任意数量的名称。正如我在编辑中所说,我可以从另一个表栏,sql,sql-server-2008,dynamic-sql,Sql,Sql Server 2008,Dynamic Sql,我是从另一张桌子上拿的,我不知道怎么做,@podiluska想出了一个绝妙的解决方案!再次感谢您的时间……谢谢,但在这个阶段,我不能假设名称(DB1、DB2等)是一致的(它们可以是任何名称),并且可能有任意数量的名称。正如我在编辑中所说,我可以从另一个表栏中获得这些名称,在那里我可以选择DISTINCT…,但是我仍然不知道如何构建我需要的where子句。谢谢您的时间…@Killercam您是说您实际上在其他表中存储了字段名吗?如果是,您会遇到更大的问题;)如果没有,请在此中列出所有可能的字段,其


我是从另一张桌子上拿的,我不知道怎么做,@podiluska想出了一个绝妙的解决方案!再次感谢您的时间……谢谢,但在这个阶段,我不能假设名称(DB1、DB2等)是一致的(它们可以是任何名称),并且可能有任意数量的名称。正如我在编辑中所说,我可以从另一个表
中获得这些名称,在那里我可以
选择DISTINCT…
,但是我仍然不知道如何构建我需要的
where
子句。谢谢您的时间…@Killercam您是说您实际上在其他表中存储了字段名吗?如果是,您会遇到更大的问题;)如果没有,请在此
中列出所有可能的字段,其中
。我已接受上述答案。事实上,我是从另一张桌子上拿到的,我不知道怎么做,@podiluska想出了一个绝妙的解决方案!再次感谢您抽出时间。。。
DELETE FROM Foo 
WHERE [DB1] IS NULL 
  AND [DB2] IS NULL 
  AND [DB3] IS NULL;
create proc DumpFooJunk 
as
begin 
    declare @strCols nvarchar(max)
    select @strCols = N''
    select @strCols = @strCols + ' AND ' + name + ' IS NULL ' from [bar]
    select @strCols = N'DELETE FROM [foo] WHERE ' + substring(@strCols,5,LEN(@strcols))
    select @strCols
    -- exec sp_executesql @strCols
end
string colHeader1 = (string)dr[3];
string colHeader2 = (string)dr[4];
string colHeader3 = (string)dr[5];
DELETE FROM Foo 
WHERE
  (0 = @db1 AND [DB1] IS NULL)
  AND (0 = @db2 AND [DB2] IS NULL)
  AND (0 = @db3 AND [DB3] IS NULL)
  -- Etc...
;