2013-06-12 6 views
8

मुझे आश्चर्य है कि बाद की क्वेरी में किसी डेटासेट के मानों का उपयोग करने का कोई तरीका है या नहीं।पावरहेल 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" 
} 

काम नहीं करता:
यहाँ एक उदाहरण है

foreach($item in $Result){ 
    $SaleResults = Invoke-Sqlcmd -query "SELECT * FROM Sales WHERE Salesperson=$Item.Id" 
} 

दूसरे उदाहरण में विफल रहता है, क्योंकि यह है कि uniqueidentifier बल्कि एक स्ट्रिंग के रूप में $ Item.Id उपयोग कर रहा है, इसलिए त्रुटि: "चरित्र स्ट्रिंग से अद्वितीय पहचानकर्ता में परिवर्तित होने पर रूपांतरण विफल रहा।"

कोई विचार अलग-अलग चर बनाने के बिना इन मानों को उनके सही प्रकार के साथ कैसे उपयोग करें?

उत्तर

9

आपको अपनी डबल-उद्धृत स्ट्रिंग में $ ($ Item.ID) का उपयोग करने की आवश्यकता है, और यह काम करेगा।

+0

अच्छा काम किया! धन्यवाद! – KickinMhl

संबंधित मुद्दे

 संबंधित मुद्दे