2012-01-14 6 views
0

私はこれを正しく記述しています。私は個別に正しく動作する次の2つのSQL更新クエリを持っています。私はフィールドを最初に更新し、それを2番目のSQLの一部で使用する必要があります。2つの別々のクエリの内容を1つに統合し、更新する

これが初めてです。

UPDATE Products_Joined SET TechSpecs = 'var srating_' 
+ Products_Joined.ProductCode + '="' + CAST(Reviews.AverageRating AS VARCHAR) + '";var rcount_' + Products_Joined.ProductCode + '="' + CAST(Reviews.TotalRatings AS VARCHAR) + '";' 

FROM Products_Joined LEFT OUTER JOIN (
SELECT Reviews.ProductCode, AVG(Reviews.Rate) AS AverageRating, COUNT(Reviews.ReviewID) AS TotalRatings 
FROM Reviews 
GROUP BY Reviews.ProductCode 
) AS Reviews ON Products_Joined.ProductCode = Reviews.ProductCode; 

これは2番目です。

DECLARE @OpenTag varchar(100) 
SET @OpenTag = '<script type="text/javascript" language="javascript">' 

UPDATE Products_Joined 
SET TechSpecs = STUFF(CAST(TechSpecs AS VARCHAR(MAX)) , 
        CHARINDEX(@OpenTag, CAST(TechSpecs AS VARCHAR(MAX)) ,1) + LEN(@OpenTag), 
         CHARINDEX('</script>',CAST(TechSpecs AS VARCHAR(MAX)) ,1)-(CHARINDEX(@OpenTag, CAST(TechSpecs AS VARCHAR(MAX)) ,1) + LEN(@OpenTag)), 
        '*****HERE IS WHERE I WANT TO PUT THE FIELD FROM THE FIRST SQL QUERY*******') 
WHERE TechSpecs LIKE '%<script type="text/javascript" language="javascript">%</script>' 

答えて

1

あなたは2番目のクエリで使用できる変数への出力に最初のクエリの結果をSQL ServerのOUTPUT句(SQLサーバー2005年以降)を利用することができます。

+0

これは非常に役立ちますが、私はこれを非常に限定されたSQL知識で上記に取り入れる方法を理解するのが難しいです。 – user357034

+0

あなたや他の人が、実用的なソリューションを親切に提供しますか? THX – user357034

関連する問題