2016-08-22 113 views
0

我想在一個表MySQL或條件不工作

我的表結構來搜索數據表:tbl_clientinfo_dplist

dplist_id dp_id  dplist 
------------------------------- 
1    1  aaa 
2    1  bbb 
3    1  ccc 
4    1  ddd 
5    2  eee 
6    2  fff 
7    2  ggg 

我的另一個表結構表:tbl_client

client_id  provider_type  group_name  cmp_legal_name 
--------------------------------------------------------------- 
    1    1     5     Test1 
    2    2     6     Test2 
    3    3     7     Test3 
    4    1     5     Test4 
    5    4     6     Test5 

dp_id = 1是提供者類型,dp_id = 2是組名。

如何從表中搜索提供程序類型或組名?

這是我當前的查詢

SELECT * 
FROM tbl_client 
LEFT JOIN tbl_clientinfo_dplist 
    ON (tbl_client.provider_type = tbl_clientinfo_dplist.dplist_id) 
     OR (tbl_client.group_name = tbl_clientinfo_dplist.dplist_id) 
+1

的http://計算器。 com/questions/11702294/mysql-inner-join-with-or-condition – user3741598

+1

它有點混亂,因爲你在這裏有什麼問題? – Rahul

+0

考慮提供適當的CREATE和INSERT語句以及所需的結果。 – Strawberry

回答

1

僅供參考,以上可以如下重寫,我認爲這是更容易閱讀...

SELECT columns, I, actually, need 
    FROM tbl_client c 
    LEFT 
    JOIN tbl_clientinfo_dplist l 
    ON l.dplist_id IN(c.provider_type,c.group_name) 
+0

它返回行的重複 – smijith

+0

'SELECT列,其實我需要 FROM tbl_client c',你的意思是(實際上,需要)。 tbl_client字段的列和tbl_clientinfo_dplist的I列 – smijith