does this LEFT OUTER JOIN statement look correct?

86 views Asked by At

I' not getting an error message but i seem to be only getting 5 results no matter what i choose, so this leaves me to beleive that there is something wrong with my SQL statement. I'm usint node.js tedious to connect to sql 2008 r2 database. Previous statements worked, but that was a simple select statement with the posting date where clause. I know there are spaces in my column names which is not good practice, but there is nothing i can do about that this because thedatabase is utilized by Navision. Normally there are no line breaks, i just did that to make it appear more orderly to you guys.

SELECT 
    TA.[Amount],  
    TA.[Posting Date],  
    TA.[Entry No_],  
    TA.[Document No_],  
    TB.[Salesperson Code] 
FROM [ShowTex Belgie NV$G_L Entry] as TA  
    LEFT OUTER JOIN [ShowTex Belgie NV$Sales Invoice Header] as TB  
    ON TA.[Document No_]=TB.[No_] 
WHERE TA.[Posting Date]>'05/01/2015'  
    AND TA.[Document Type]='2'  
    AND TA.[Gen_ Posting Type]='2'

Strangely Enough the SQL turns out not to be the issu. It is the conversion from JSON.stringify to JSON.parse. I was certain i had tested this successfully before. But perhaps i was negligent. Anyways My code looks like this. when i Console.log(retVal) the data still looks correct about 100 reccords as expected.

retVal = JSON.stringify({result:dataSet});
fn(retVal);


function fn(retVal){
    var obj = JSON.parse(retVal);   
    for(var i = 0; i<Object.keys(obj.result[0]).length;i++){
        console.log(obj.result[i]);
    }
}

If i console.log(retVal) inside the fn function i still get my wall of text as expected. but within the FOR statement i only get the first 5 records. Hmm I bet I'm headbutting a rookie mistake at the moment. :/

2

There are 2 answers

0
WouldBeNerd On BEST ANSWER

Wow, i found my problem. It's really embarrassing, the SQL was correct, i was counting the number of columns in my json file, this returned 5 each time. Sorry for Wasting people's time. Thank you so much for your feedback. It was helpfull in a sense that i was fixated on getting my sql statement wrong because I'm not good at those so your feedback was helpfull. It never occurred to me that I could still be running into rookie mistakes likes this.

i<Object.keys(obj.result[0]).length

needs to be

i<Object.keys(obj.result).length
0
Blaatz0r On

Totally depends on what you want but here is a cheat sheet with venn diagrams. http://www.codeproject.com/KB/database/Visual_SQL_Joins/Visual_SQL_JOINS_orig.jpg so that it might be more logically to see what you are doing.