Solved

SSRS and & or filters

Posted on 2009-07-09
4
321 Views
Last Modified: 2012-06-21
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
Comment
Question by:gotti777
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 26

Accepted Solution

by:
Chris Luttrell earned 500 total points
ID: 24815101
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
 
LVL 26

Expert Comment

by:Chris Luttrell
ID: 24815116
or change it to an IN expression

WHERE     (SOSO.Status = 'OPEN') AND (SOSOLine.Status = 'OPEN') AND (IMItem.SPC IN ('JWGAS', 'JWCG', 'JWOR', 'TORAC'))
0
 
LVL 8

Expert Comment

by:Hadush
ID: 24815130
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
 

Author Closing Comment

by:gotti777
ID: 31601677
Worked Perfect thank you
0

Featured Post

Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

How to use Variables  and Custom code in SSRS report and Assembly reference to use compile shared code in SSRS. Its big question for all who are working with SSRS. It is easy to create assembly and refer in SSRS report, still there are some steps…
Introduction In the following article I’ll be discussing and demonstrating several different ways of how images can be put on a report. I’m using SQL Server Reporting Services 2008 R2 CTP, more precisely version 10.50.1352.12, but the methods ex…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question