SQL reporting services query question.
                
                    armela20                
                
                    Member Posts: 71                
            
                        
            
                    Hi there
I have build a query wchich does not work very well.
I need the following info.
I need to be able to filter on an item fields and view inventory data sold which will include Posted invoices and posted Credit memos.
Here is my query.
SELECT [Cronus USA$Item].No_, [Cronus USA$Item].[Item Category Code], [Cronus USA$Sales Invoice Line].Quantity,
[Cronus USA$Sales Cr_Memo Line].Quantity AS CM_Qty, [Cronus USA$Sales Cr_Memo Line].[Unit Cost (LCY)] AS [CM-Cost],
[Cronus USA$Sales Invoice Line].[Unit Cost (LCY)], [Cronus USA$Sales Invoice Line].Amount,
[Cronus USA$Sales Cr_Memo Line].Amount AS Cm_Amount
FROM [Cronus USA$Item] LEFT OUTER JOIN
[Cronus USA$Sales Cr_Memo Line] ON
[Cronus USA$Item].No_ = [Cronus USA$Sales Cr_Memo Line].No_ LEFT OUTER JOIN
[Cronus USA$Sales Invoice Line] ON [Cronus USA$Item].No_ = [Cronus USA$Sales Invoice Line].No_
WHERE ([Cronus USA$Sales Invoice Line].Type = 2) AND ([Cronus USA$Sales Cr_Memo Line].Type = 2) AND
([Cronus USA$Sales Cr_Memo Line].[Posting Date] >= @start_date) AND
([Cronus USA$Sales Cr_Memo Line].[Posting Date] <= @end_date) AND
([Cronus USA$Sales Invoice Line].[Posting Date] >= @start_date) AND
([Cronus USA$Sales Invoice Line].[Posting Date] <= @end_date) AND
([Cronus USA$Sales Cr_Memo Line].[Location Code] IN (@location_filter)) AND
([Cronus USA$Sales Invoice Line].[Location Code] IN (@location_filter)) AND
([Cronus USA$Item].[Item Category Code] IN (@item_category_filter))
Sorry, it is too long
but what it gives me is all my sales Lines and the CM info in between.
For example, I have 1 item that has been sold on 8 different Invoices and returned on 1.
I would like to see 9 records for that item.
In return I only get 8.
Any ideas ??
Thanks
                I have build a query wchich does not work very well.
I need the following info.
I need to be able to filter on an item fields and view inventory data sold which will include Posted invoices and posted Credit memos.
Here is my query.
SELECT [Cronus USA$Item].No_, [Cronus USA$Item].[Item Category Code], [Cronus USA$Sales Invoice Line].Quantity,
[Cronus USA$Sales Cr_Memo Line].Quantity AS CM_Qty, [Cronus USA$Sales Cr_Memo Line].[Unit Cost (LCY)] AS [CM-Cost],
[Cronus USA$Sales Invoice Line].[Unit Cost (LCY)], [Cronus USA$Sales Invoice Line].Amount,
[Cronus USA$Sales Cr_Memo Line].Amount AS Cm_Amount
FROM [Cronus USA$Item] LEFT OUTER JOIN
[Cronus USA$Sales Cr_Memo Line] ON
[Cronus USA$Item].No_ = [Cronus USA$Sales Cr_Memo Line].No_ LEFT OUTER JOIN
[Cronus USA$Sales Invoice Line] ON [Cronus USA$Item].No_ = [Cronus USA$Sales Invoice Line].No_
WHERE ([Cronus USA$Sales Invoice Line].Type = 2) AND ([Cronus USA$Sales Cr_Memo Line].Type = 2) AND
([Cronus USA$Sales Cr_Memo Line].[Posting Date] >= @start_date) AND
([Cronus USA$Sales Cr_Memo Line].[Posting Date] <= @end_date) AND
([Cronus USA$Sales Invoice Line].[Posting Date] >= @start_date) AND
([Cronus USA$Sales Invoice Line].[Posting Date] <= @end_date) AND
([Cronus USA$Sales Cr_Memo Line].[Location Code] IN (@location_filter)) AND
([Cronus USA$Sales Invoice Line].[Location Code] IN (@location_filter)) AND
([Cronus USA$Item].[Item Category Code] IN (@item_category_filter))
Sorry, it is too long
but what it gives me is all my sales Lines and the CM info in between.
For example, I have 1 item that has been sold on 8 different Invoices and returned on 1.
I would like to see 9 records for that item.
In return I only get 8.
Any ideas ??
Thanks
0                
            Comments
- 
            Hi,
I'm not that familiar with the table structure, but generally speaking, your left outer join is behaving like a equal join... because you have a "where" statement that is filtering data on tables on the "right" hand side of the join.
You basically need to do your filtering in a subquery which is left outer joined to item table.
It would look something like this.
SELECT T1.No_, T1.[Item Category Code], T3.Quantity, T2.CM_Qty, T2.[CM-Cost], T3.[Unit Cost (LCY)], T3.Amount, T2.Cm_Amount
FROM [Lipa Test$Item] as T1
LEFT OUTER JOIN
( SELECT [Lipa Test$Sales Cr_Memo Line].No_, [Lipa Test$Sales Cr_Memo Line].Quantity AS CM_Qty, [Lipa Test$Sales Cr_Memo Line].[Unit Cost (LCY)] AS [CM-Cost], [Lipa Test$Sales Cr_Memo Line].Amount AS Cm_Amount FROM [Lipa Test$Sales Cr_Memo Line]
WHERE ([Lipa Test$Sales Cr_Memo Line].Type = 2)
AND ([Lipa Test$Sales Cr_Memo Line].[Posting Date] >= @start_date)
AND ([Lipa Test$Sales Cr_Memo Line].[Posting Date] <= @end_date)
AND ([Lipa Test$Sales Cr_Memo Line].[Location Code] IN (@location_filter))
) as T2 ON T1.No_ = T2.No_
LEFT OUTER JOIN
( SELECT [Lipa Test$Sales Invoice Line].No_, [Lipa Test$Sales Invoice Line].Quantity, [Lipa Test$Sales Invoice Line].[Unit Cost (LCY)], [Lipa Test$Sales Invoice Line].Amount FROM [Lipa Test$Sales Invoice Line]
WHERE ([Lipa Test$Sales Invoice Line].Type = 2)
AND ([Lipa Test$Sales Invoice Line].[Posting Date] >= @start_date)
AND ([Lipa Test$Sales Invoice Line].[Posting Date] <= @end_date)
AND ([Lipa Test$Sales Invoice Line].[Location Code] IN (@location_filter))
) as T3 ON T1.No_ = T3.No_
WHERE (T1.[Item Category Code] IN (@item_category_filter))
Give this a go.
Fred0 
Categories
- All Categories
 - 73 General
 - 73 Announcements
 - 66.6K Microsoft Dynamics NAV
 - 18.7K NAV Three Tier
 - 38.4K NAV/Navision Classic Client
 - 3.6K Navision Attain
 - 2.4K Navision Financials
 - 116 Navision DOS
 - 851 Navision e-Commerce
 - 1K NAV Tips & Tricks
 - 772 NAV Dutch speaking only
 - 617 NAV Courses, Exams & Certification
 - 2K Microsoft Dynamics-Other
 - 1.5K Dynamics AX
 - 323 Dynamics CRM
 - 111 Dynamics GP
 - 10 Dynamics SL
 - 1.5K Other
 - 990 SQL General
 - 383 SQL Performance
 - 34 SQL Tips & Tricks
 - 35 Design Patterns (General & Best Practices)
 - 1 Architectural Patterns
 - 10 Design Patterns
 - 5 Implementation Patterns
 - 53 3rd Party Products, Services & Events
 - 1.6K General
 - 1.1K General Chat
 - 1.6K Website
 - 83 Testing
 - 1.2K Download section
 - 23 How Tos section
 - 252 Feedback
 - 12 NAV TechDays 2013 Sessions
 - 13 NAV TechDays 2012 Sessions