2017-03-09 69 views
1

如果我有2表,這是 enter image description here 我如何獲得的查找SQL的關係匹配

enter image description here

我知道相結合的名稱使用CONCAT_WS功能的結果,但我不我不知道如何在我的輸出中交換諸如「妻子」和「丈夫」這樣的行。

回答

1

你應該加入客戶表中的兩個時間使用的表名別名

select 
     concat(c1.client_firstname, ' ' , c1.client_lastname) as A_Name 
     , r.rel_client1_state as A_State 
     , concat(c2.client_firstname, ' ' , c2.client_lastname) as B_Name 
     , r.rel_client2_state as B_State 
from relationships as r 
inner join client as c1 on r.rel_client1_id = c1.client_id 
inner join clinet as c2 on r.rel_client2_id = c2.client_id 
+1

所以,這意味着我可以加入表超過2時間(行各相關部分的)?我雖然只能達到1。 – Beginner

+0

您可以隨時加入表格......只需使用適當的別名,並使用右列進行連接 – scaisEdge

+0

好吧,我明白了。謝謝。^^ – Beginner

1
SELECT CONCAT_WS(' ', c1.client_firstname, c1.client_lastname) as c1name, 
r.rel_client1_state, CONCAT_WS(' ', c2.client_firstname, c2.client_lastname) as c2name, 
r.rel_client2_state FROM client c1 
JOIN relationship r ON c1.client_id = r.rel_client1_id 
JOIN client c2 ON c2.client_id = r.rel_client2_id WHERE 1 
+1

感謝您的幫助。^^ – Beginner