2013-12-16 16 views
1

請我想從兩個實體(企業合作伙伴和直銷代理)的組合中得到結果,我已經在其中指定了列。這兩個實體通過充當過濾器的查找(直銷經理)連接到另一個實體。我不能得到內部連接的結果

這是這裏的代碼

SELECT 
    Filterednew_corporatepartner.new_cpid AS CorporatePartnerID 
    ,Filterednew_corporatepartner.new_name AS CorporatePartnerName 
    ,Filterednew_corporatepartner.new_shortcode_cp AS CorporatePartnerShortcode 
    ,Filterednew_directsalesagents.new_agentcode AS DSAAgentcode 
    ,Filterednew_directsalesagents.new_name AS DSAName 
    ,Filterednew_directsalesmanager.new_name AS DSMName 
    ,Filterednew_directsalesmanager.createdon AS CreatedOn 
FROM 
    Filterednew_directsalesmanager 
INNER JOIN Filterednew_directsalesagents 
ON Filterednew_directsalesmanager.new_name = Filterednew_directsalesagents.new_directsalesmanagername 

INNER JOIN Filterednew_corporatepartner 
ON Filterednew_directsalesmanager.new_name = Filterednew_corporatepartner.new_dsmname 


WHERE (Filterednew_directsalesmanager.createdon >= @StartDate) AND (Filterednew_directsalesmanager.createdon <= @EndDate) AND (Filterednew_directsalesmanager.new_name IN (@DSM)) 
+3

請儘量使用http://sqlfiddle.com/別人來幫助你更好地 – vishnu

回答

0

檢查Filterednew_directsalesagents和Filterednew_corporatepartner表有一定的價值是零,當你添加

WHERE (Filterednew_directsalesmanager.createdon >= @StartDate) AND (Filterednew_directsalesmanager.createdon <= @EndDate) AND (Filterednew_directsalesmanager.new_name IN (@DSM)) 

條件,這就是爲什麼你沒有得到結果。

我的建議是使用左外連接,而不是內部聯接

UPDATE:只是檢查這個環節我是衝浪同樣的問題。

How to Calculate From 2 Tables in SQL?

+0

我試圖改變INNER JOIN的建議,但還是沒有給出預期的結果。但是當我刪除WHERE子句我得到的結果,但我需要過濾器在那裏 – Olu

+0

@olu:請參閱更新的答案 –