我使用Microsoft Dynamics Navision 2013和SQL 2014作为数据源。 Value条目表是托管customers / Items的所有销售交易的主表。
对于我们支付消费税(税)的部分项目,我们支付从一个仓库转移到另一个仓库(我们称之为转移消费税)的所有物品的特定费率。
我在一个葡萄酒农场工作,每年我们为每个地点的每个项目输入一个单位费率(位置是葡萄酒在转出仓库之前存放的仓库)。我们的单位费率是在28-创建的02-28。
为了获得转移消费税的计算,我从Microsoft Dynamics Navision的各种表中获取了数据。这些表包含我所用的列:
Location : Code, also contains a filter “NONBOND”
Item: No(PK) , Excise Type
Excise Rate: Starting Date (The starting date of the Unit Rate), Excise Type Code
Item Unit Of Measure: Item No(PK), Qty_ per unit of measure as (Litre Conversion Factor)
将数据输入名为Transfer Excise Tbl 1
的新表中。为了简化我的示例,我的Transfer Excise
表包含:No_ and Location Code
(FK)我的值条目表包含Item No_
(PK),Location Code
(PK)。我当然会加入Transfer Excise
和Value Entry
表格(No_=Item No_
)和Location code = Location code
。
我正在尝试获取与Value Entry
表格相匹配的所有项目交易,针对该特定开始日期的每个单位费率以及使用LEFT JOIN
过滤器发布交易的过帐日期。
在值输入表格中,我使用Gen_ Bus_ Posting Group
仅过滤(LOCA
& EXSA
),LOCA
表示本地和EXSA
含义南非出口。这是我正在尝试的查询,但是我得到重复项,没有开始日期和发布日期。我尝试使用DISTINCT
,如我的查询中所示,但它不起作用。
SELECT DISTINCT a.[Starting Date],
b.[Posting Date],
b.[Item No_],
b.[Invoiced Quantity],
a.[Litre Conversion Factor],
a.[Unit Rate] ,
a.[Location Code],
a.[Excise Location],
a.[Excise Type Code],
a.[Unit Of Measure Code]
FROM [Transfer Excise Tbl] a
LEFT JOIN [Spier Live$Value Entry] b
ON a.[No_] = b.[Item No_]
WHERE b.[Posting Date] > '2014-03-01'
AND b.[Item No_] = 'F00335'
AND b.[Location Code] = a.[Location Code]
AND b.[Gen_ Bus_ Posting Group] IN ('LOCA','EXSA')
AND b.[Posting Date] >= a.[Starting Date]
AND b.[Invoiced Quantity] <>0
order by b.[Posting Date]