Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell SqlCmd-使用结果值而不定义变量_Sql_Variables_Powershell_Literals_Sqlcmd - Fatal编程技术网

Powershell SqlCmd-使用结果值而不定义变量

Powershell SqlCmd-使用结果值而不定义变量,sql,variables,powershell,literals,sqlcmd,Sql,Variables,Powershell,Literals,Sqlcmd,我想知道是否有任何方法可以在后续查询中使用数据集的值。 以下是一个例子: 作品: $Result = Invoke-Sqlcmd -query "SELECT Id, FirstName, LastName FROM Person" foreach($item in $Result){ $ID= $item.Id $SaleResults = Invoke-Sqlcmd -query "SELECT * FROM Sales WHERE Salesperson = $ID" } 不

我想知道是否有任何方法可以在后续查询中使用数据集的值。
以下是一个例子:

作品:

$Result = Invoke-Sqlcmd -query "SELECT Id, FirstName, LastName FROM Person" 
foreach($item in $Result){
  $ID= $item.Id 
  $SaleResults = Invoke-Sqlcmd -query "SELECT * FROM Sales WHERE Salesperson = $ID"
}
不起作用:

foreach($item in $Result){
  $SaleResults = Invoke-Sqlcmd -query "SELECT * FROM Sales WHERE Salesperson=$Item.Id"
}
第二个示例失败,因为它使用$Item.Id作为字符串而不是uniqueidentifier,因此出现错误:“从字符串转换为uniqueidentifier时转换失败。”

您知道如何在不创建单独变量的情况下将这些值与其正确类型一起使用吗?

您需要在双引号字符串中使用$($Item.ID),这样就可以了