Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 Transact-SQL (2000)
 problem with stored procedure sql...

Author  Topic 

alexjamesbrown
Starting Member

48 Posts

Posted - 2007-03-28 : 11:12:41
Hi there, i have the following stored procedure:


CREATE PROCEDURE test(
@OrderID BIGINT,
@OrderComplete BIT OUTPUT
)
AS
BEGIN
-- products ordered

select ord.OrderID, TotalProductOrder = isnull(sum(o.Qty), 0)
from tblOrdersProducts o, tblOrders ord
WHERE ord.OrderID = o.OrderID
AND
o.OrderID=@orderid
group by ord.OrderID


-- products dispatched
select od.OrderID, TotalProductsDispatched =
isnull(sum(odp.Qty), 0)

from
tblOrderDispatch oD,
tblOrderDispatchProducts oDP

WHERE od.OrderDispatchID = odp.OrderDispatchID
AND
od.OrderID=@orderid
group by od.OrderID

---BIT I NEED HELP WITH

IF TotalProductsDispatched = TotalProductOrder
SELECT @OrderComplete = 1


END


Basically, i want to compare those 2 values, and if they are equal, return a True boolean.
its saying - Invalid column name 'TotalProductsDispatched'

harsh_athalye
Master Smack Fu Yak Hacker

5581 Posts

Posted - 2007-03-28 : 11:20:22
quote:
Originally posted by alexjamesbrown

Hi there, i have the following stored procedure:


CREATE PROCEDURE test(
@OrderID BIGINT,
@OrderComplete BIT OUTPUT
)
AS
BEGIN
-- products ordered

If Exists(
Select * from
(
select ord.OrderID, TotalProductOrder = isnull(sum(o.Qty), 0)
from tblOrdersProducts o, tblOrders ord
WHERE ord.OrderID = o.OrderID
AND
o.OrderID=@orderid
group by ord.OrderID) t1
JOIN

(
-- products dispatched
select od.OrderID, TotalProductsDispatched =
isnull(sum(odp.Qty), 0)

from
tblOrderDispatch oD,
tblOrderDispatchProducts oDP

WHERE od.OrderDispatchID = odp.OrderDispatchID
AND
od.OrderID=@orderid
group by od.OrderID) t2
on t1.TotalProductOrder = t2.TotalProductsDispatched)
Select @OrderComplete = 1
else
Select @OrderComplete = 0

---BIT I NEED HELP WITH

IF TotalProductsDispatched = TotalProductOrder
SELECT @OrderComplete = 1


END


Basically, i want to compare those 2 values, and if they are equal, return a True boolean.
its saying - Invalid column name 'TotalProductsDispatched'





Harsh Athalye
India.
"The IMPOSSIBLE is often UNTRIED"
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2007-03-28 : 11:22:06
Something like this?
CREATE PROCEDURE Test
(
@OrderID BIGINT,
@OrderComplete BIT OUTPUT
)
AS

DECLARE @Total INT

SELECT @Total = SUM(Qty)
FROM tblOrdersProducts
WHERE OrderID = @OrderID

DECLARE @Dispatch INT

SELECT @Dispatch = SUM(Qty)
FROM tblOrderDispatchProducts
WHERE OrderID = @OrderID

IF ISNULL(@Total, 0) = ISNULL(@Dispatched, 0)
SET @OrderComplete = 1
ELSE
SET @OrderComplete = 0


Peter Larsson
Helsingborg, Sweden
Go to Top of Page
   

- Advertisement -