KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am using SQL Server (I believe it is 2005). I have TableA that has 2 columns and 439 rows (each row is unique). +----------+ |ID | Name | +----------+ I have TableB that has 35 columns and many hundreds of thousand rows (each row is also unique). +------------------------------------------------------------------------------+ |Date | ID | Name | Blah1 | Blah2 | ... | Hour1 | Hour2 | Hour3 | ... | Hour24 | +------------------------------------------------------------------------------+ Each row in TableB has hourly observations and some other house keeping information. Now for testing purposes I am only interested in today's date i.e 4/19/2013. If I do: Select count(*) from TableB where Date = '4/19/2013 12:00:00 AM' I get 10526, which is correct as there are 10526 distinct locations for which there is hourly observation data each day. I want to LEFT JOIN TableA and TableB on a.id = b.id , which SHOULD produce a result that has 439 rows. Unfortunately, the result has 246 rows. How can this be? Isn't a LEFT JOIN suppose to return all rows in TableA regardless of whether there was a match in TableB ? * EDIT * The complete query I used was: select * from TableA as a left join TableB as b on a.id = b.id where RealDate = '4/20/2013 12:00:00 AM'
Tags (comma-separated)
Save Edits
Cancel