Filtering records in the FROM clause vs the WHERE clause

I have a report that needs to pull records that are equal to S, R, or M.

So I need to pull records from OD_RECORD_TYPE = S,R,M

1. How do I write that in either section
2.......and does either affect the results since I will need these records for various parts of the report for several columns of data.
Fletcher BurdineTableau Trainer & Consultant Sales Exec.Asked:
Who is Participating?
 
Jim HornMicrosoft SQL Server Developer, Architect, and AuthorCommented:
2.  No, it doesn't affect the execution of the query.

1. Either of the below works, <air code, so making a few assumptions>
SELECT goo, foo, boo
FROM YourTable
WHERE ODS_RECORD_TYPE IN ('S', 'R', 'M') 

SELECT yt.goo, yt.foo, yt.boo, sot.wahoo
FROM YourTable yt
   INNER JOIN SomeOtherTable ON yt.ID = sot.ID AND sod.ODS_RECORD_TYPE IN ('S', 'R', 'M') 

Open in new window

0
 
Jim HornMicrosoft SQL Server Developer, Architect, and AuthorCommented:
>I have a report that needs to pull records that are equal to S, R, or M.
You'll want to expand on this.  
*  If it always does this, it can be hard-coded into the T-SQL that is the data source for the data set behind your report.
*  If this will be a user-selectable parameter value, then you'll want to set it up in SSRS as such.
0
 
mlmccCommented:
SO long as you are using inner joins it doesn't matter.

If you are using an outer join it can make a difference, particularly with Crystal

Modifying jimhorn's example above
SELECT yt.goo, yt.foo, yt.boo, sot.wahoo
FROM YourTable yt
   LEFT OUTER JOIN SomeOtherTable ON yt.ID = sot.ID AND sod.ODS_RECORD_TYPE IN ('S', 'R', 'M')  

Open in new window


That will return all records from YourTable with a matching record that has an S, R, or M in the ODS_Record_Type field.  It will also return records from YourTable that don't have a matching record.

If you do it in the where clause the join is treated as INNER so only records from YourTable with a matching record will be returned.

mlmcc
0
 
Fletcher BurdineTableau Trainer & Consultant Sales Exec.Author Commented:
That took care of it....gotta love Experts-Exchange.com
Its like a beatiful woman except much easier to deal with........!
0
 
Jim HornMicrosoft SQL Server Developer, Architect, and AuthorCommented:
^^^  Dude, don't do that.  I had coffee in my mouth when I read the above line, and nearly sprayed.

Thanks for the grade.  Good luck with your project.  -Jim
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.

All Courses

From novice to tech pro — start learning today.