我有一张桌子
我有以下脚本
$Result = Query "SELECT [databasename], [servertypeA], [servertypeB] from table GROUP BY [databasename], [servertypeA], [servertypeB]"
$Servers = @()
$DB = @()
foreach($row in $Result)
{
$i++
$DB += $row.Item("databasename")
$Servers += $row.Item("servertypeA")
$Servers += $row.Item("servertypeB")
cmd /c "PS.bat $somescript.ps1 $($Servers[-1]) $($DB[-1])"
}
这导致:
db1 serverx
db1 servery
db2 serverx
db2 servery
它应该是
db1 server1
db1 serverx
db1 servery
db2 server2
db2 serverx
db2 servery
为什么servertypeA
被跳过,即server1 and server2
在$Server
?
我也试过这个
$Result = Query "SELECT distinct [databasename], [servertypeA], [servertypeB] from table"
并产生相同的结果
最大的变化是查询,以获得您想要的结果,但请注意,这也让我大大简化了循环:
$Result = Query "SELECT DISTINCT [databasename], [serverTypeA] As Server from table UNION SELECT DISTINCT [databasename], [serverTypeB] from table"
foreach($row in $Result)
{
$DB = $row.Item("databasename")
$Server = $row.Item("Server")
cmd /c "PS.bat $somescript.ps1 $Server $DB"
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句