2016-10-04 186 views
-1

我想知道查詢中獲取具有相同類型連接的列名與類別相同的其他表列名的查詢。我試過但找不到答案。獲取具有相同類型連接的列名與其他類別列表名稱相同的列名

這是我的查詢

SELECT a.name, ac.name FROM table1 a 
JOIN table2 ac ON a.id = ac.areaId where ac.positionName = 'cm' or a.type = 2; 

詳情:

Table1 
------------------------ 
|id | name |type | 
------------------------- 
|1 | a  | 1  | 
|2 | b  | 1  | 
|3 | c  | 2  | 
|4 | d  | 2  | 
------------------------ 

table2 

---------------------------------- 
| name | positionName | areaId | 
---------------------------------- 
|x  | cm   | 2  | 
|y  | pm   | 3  | 
|z  | cm   | 4  | 
|q  | cm   | 1  | 
---------------------------------- 

Result 

------------------------ 
| name | name  | 
------------------------ 
| c  |    | 
| d  | z   | 
------------------------ 
+0

預期的操作是什麼? – Backtrack

+0

表格之間的關係是什麼? – Zeina

+0

我必須找到沒有。類型2的區域名稱與其postionName以cm爲單位的名稱匹配。 – sahil0021

回答

0

請嘗試。

SELECT a.name, ac.name from (select * FROM table1 where type = 2) a 
left JOIN (select * from table2 where positionName = 'cm') ac ON a.id = ac.areaId 
0

使用CASE聲明。

SELECT a.name, CASE WHEN ac.PositionName='cm' THEN ac.name ELSE '' END Name 
FROM table1 a 
    JOIN table2 ac ON a.id = ac.areaId 
WHERE a.[type] = 2; 
相關問題