Quantcast
Channel: How to do this Query?
Viewing all articles
Browse latest Browse all 8

Re: How to do this Query?

$
0
0
DECLARE @Products TABLE (ProductID INT, ProductName VARCHAR(200), Price DECIMAL)
DECLARE @ProductsUnique TABLE (Row_ID INT IDENTITY(1,1), ProductID INT, ProductName VARCHAR(200), Price DECIMAL)
DECLARE @FinalList TABLE (ProductID INT, ProductName VARCHAR(20), Price DECIMAL)

INSERT INTO @Products(ProductID, ProductName,Price)
SELECT 1, 'A', 500
UNION ALL
SELECT 2, 'B', 200
UNION ALL
SELECT 3, 'C', 100
UNION ALL
SELECT 4, 'E', 300

DECLARE @MaximumValue INT, @SumValue INT
SET @MaximumValue = 1000
SET @SumValue = 0

INSERT INTO @ProductsUnique(ProductID, ProductName, Price)
SELECT ProductID, ProductName, Price FROM @Products

DECLARE @Counter INT
SET @Counter = 1

WHILE @SumValue < @MaximumValue
BEGIN
	INSERT INTO @FinalList(ProductID, ProductName, Price)
	SELECT ProductID, ProductName, Price FROM @ProductsUnique WHERE Row_ID = @Counter
	SELECT @SumValue = SUM(Price) FROM @FinalList
	IF @SumValue >= @MaximumValue
	BEGIN
		DELETE a
		FROM @FinalList a
		INNER JOIN @ProductsUnique b ON a.ProductID = b.ProductID
		WHERE b.Row_ID = @Counter
		SET @SumValue = @MaximumValue + 1 -- To exit loop
	END
	SET @Counter = @Counter + 1
END

SELECT * FROM @FinalList

 


Viewing all articles
Browse latest Browse all 8

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>