2017-04-07 54 views
0

我想加入2個表格,在1個表格中可能有也可能沒有對應的值。但我需要加入表格並將字段列爲空。加入兩個以上的表格

我試圖以左連接方式連接表。但是如果兩個條目在第一個表的值對應的secoond表中存在,那麼第一個表數據將顯示兩次。

如果在另一個表中有兩個數據或另一個表中沒有數據,則只需顯示一次,但應顯示爲空。

這是我的sql查詢。

 SELECT *,incident.incident_id as incidentid 
     FROM register_incident AS incident 
     LEFT JOIN incident_images AS im ON im.incident_id= 
     incident.incident_id 
     WHERE incident.state='Active' 

我需要,如果有另一個表中沒有相應的行只顯示一次的每個數據,但在第二個表列表爲空的字段。

如果在另一個表中有多個行,那麼還要在第一個表中顯示每行,並在第二個表中顯示一個條目。

+2

能否請您向我們展示樣品的數據和預期的輸出? –

+0

在table1中創建一個標誌列,然後在連接之後獲得標誌的不同值...以獲取table1的所有值一次....然後放下標誌 –

回答

0

你可以使用不同的選擇對於得到的只有一個行如(限制選擇indicent_id ,,但你可以添加你需要的distinctcolumn):

SELECT *,incident.incident_id as incidentid 
    FROM register_incident AS incident 
    LEFT JOIN (
     select distinct incident_id from 
     incident_images 
     WHERE incident.state='Active') t ON t.incident_id= incident.incident_id