简体   繁体   English

将两个单独查询的内容合并为一个并更新

[英]combine the content of two seperate queries into one and update

Hope I am describing this correctly. 希望我能正确描述。 I have the following two SQL update queries which individually work correctly. 我有以下两个SQL更新查询,分别可以正常工作。 I need to take the field updated in the first and use it in a part of the SQL of the second. 我需要在第一个中更新字段,并在第二个SQL的一部分中使用它。

This is the first. 这是第一个。

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;

And this is the second. 这是第二个。

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>' 

您可以利用SQL Server的OUTPUT子句(从SQL Server 2005开始)将第一个查询的结果输出到一个变量中,该变量可以在第二个查询中使用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM