8

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

作品:

$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 作为字符串而不是唯一标识符,因此出现错误:“从字符串转换为唯一标识符时转换失败。”

知道如何在不创建单独变量的情况下以正确的类型使用这些值吗?

4

1 回答 1

9

您需要在双引号字符串中使用 $($Item.ID) ,它会起作用。

于 2013-06-12T18:49:08.917 回答