Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 329
  • Last Modified:

SSRS and & or filters

I have a questions on Filters  I need soso.status ='open' and SOSOline.Status ='open' that works good but i need to add the IMItems also but now turns the closed as well what am am I during wrong.  
SELECT     SNSalesRep.Name, SOSO.SONumber, SOSO.ShipToName, SOSO.Status, SOSOLine.Status AS Expr1, SOSO.CustomerPO, SOSO.ContactFirstName, 
                      SOSO.ContactLastName, SOSO.WrittenBy, SOSOLine.SOLineNumber, SOSOLine.Item, SOSOLine.Quantity, SOSOLine.DateOrdered, 
                      SOSOLine.DateRequired, SOSOLine.UsePriceOverride, SOSOLine.UnitPriceOverride, SOSOLine.UnitPriceCalculated, SOSOLine.QuantityShipped, 
                      ARCustomer.Name AS Expr2, SOSO.ContactPhone, SOSO.ContactEmail, IMItem.SPC
FROM         SOSO AS SOSO INNER JOIN
                      ARCustomerShipTo AS ARCustomerShipTo ON SOSO.CustomerShipTo = ARCustomerShipTo.CustomerShipTo INNER JOIN
                      SOSOLine AS SOSOLine ON SOSO.SONumber = SOSOLine.SONumber INNER JOIN
                      ARCustomer AS ARCustomer ON ARCustomerShipTo.Customer = ARCustomer.Customer INNER JOIN
                      SOSOLineRep AS SOSOLineRep ON SOSOLine.SONumber = SOSOLineRep.SONumber AND 
                      SOSOLine.SOLineNumber = SOSOLineRep.SOLineNumber INNER JOIN
                      SNSalesRep AS SNSalesRep ON SOSOLineRep.SalesRep = SNSalesRep.SalesRep INNER JOIN
                      IMItem ON SOSOLine.Item = IMItem.Item
WHERE     (SOSO.Status = 'OPEN') AND (SOSOLine.Status = 'OPEN') AND (IMItem.SPC = 'JWGAS') OR
                      (IMItem.SPC = 'JWCG') OR
                      (IMItem.SPC = 'JWOR') OR
                      (IMItem.SPC = 'TORAC')

Open in new window

0
gotti777
Asked:
gotti777
  • 2
1 Solution
 
Chris LuttrellSenior Database ArchitectCommented:
Put another set of parenthesis around your ORs

WHERE     (SOSO.Status = 'OPEN') AND (SOSOLine.Status = 'OPEN') AND ((IMItem.SPC = 'JWGAS') OR
                      (IMItem.SPC = 'JWCG') OR
                      (IMItem.SPC = 'JWOR') OR
                      (IMItem.SPC = 'TORAC'))
0
 
Chris LuttrellSenior Database ArchitectCommented:
or change it to an IN expression

WHERE     (SOSO.Status = 'OPEN') AND (SOSOLine.Status = 'OPEN') AND (IMItem.SPC IN ('JWGAS', 'JWCG', 'JWOR', 'TORAC'))
0
 
HadushCommented:
The OR condition that brings the closed.  Which means even if status values is closed they could have (JWCG, JWOR, TORAC) on its spc column.  Are you trying to do some thing like this one?

 
 

 (SOSO.Status = 'OPEN') AND (SOSOLine.Status = 'OPEN') 
AND 
(
(IMItem.SPC = 'JWGAS') 
OR (IMItem.SPC = 'JWCG') 
OR (IMItem.SPC = 'JWOR')
OR (IMItem.SPC = 'TORAC')
)

Open in new window

0
 
gotti777Author Commented:
Worked Perfect thank you
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now