2016-02-18 12 views
-1
SELECT a.*,b.clientId,c.partner_name, d.seo 
FROM project_estimate_detail as a, 
    project as b, 
    partner as c, 
    projection as d 
WHERE a.project_cat_id = 5 and 
     a.project_id = b.id and 
     b.clientId = c.id and 
     c.status =1 and c.id = d.client_id 
GROUP BY(c.partner_name) 

in c.id = d.client_id ..我想匹配或不匹配d.client_id我想要得到的數據表格形式的MySQL表,其中與右側的數據匹配或不

+0

感謝bro @ Sal00m .....但是plss給了我答案。 –

回答

2

使用LEFT OUTER JOIN。

但要做到這一點,你應該改變使用明確的聯接語法: -

SELECT a.*, b.clientId, c.partner_name, d.seo 
FROM project_estimate_detail as a, 
INNER JOIN project as b ON a.project_id = b.id 
INNER JOIN partner as c ON b.clientId = c.id 
LEFT OUTER JOIN projection as d ON c.id = d.client_id 
WHERE a.project_cat_id = 5 
AND c.status =1 
GROUP BY(c.partner_name) 

注意,我懷疑這不會給你你想要的結果。您正在按_partner_name_進行分組,因此您將收到一個按partner_name返回的行。由於我假定單個合作伙伴名稱將包含多個客戶端,並且他們可以有多個估算值,因此_project_estimate_detail_和項目將會爲每個_partner_name_返回一行詳細信息;哪些行的細節不確定,可能是有效的隨機。

+0

愛你太兄弟了....謝謝你很多 –

+0

它的工作像魅力 –

+0

沒問題,但懷疑你需要修改它來排序行的分組。 – Kickstart

相關問題