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"
}

2 番目の例は、uniqueidentifier ではなく文字列として $Item.Id を使用しているため失敗します。したがって、「文字列から uniqueidentifier への変換中に変換に失敗しました」というエラーが発生します。

別の変数を作成せずに、これらの値を正しい型で使用する方法はありますか?

4

1 に答える 1

9

二重引用符で囲まれた文字列で $($Item.ID) を使用する必要があり、それは機能します。

于 2013-06-12T18:49:08.917 に答える