2013-08-07 53 views
0

我有以下查詢即時通訊運行,但是如果銷售表中的cid不在客戶表中的id集中,則記錄不會顯示在結果中。有條件的mysql查詢選擇額外的數據

有沒有辦法讓我有工作。所以如果找到了客戶ID,那麼獲取客戶信息,如果沒有,那麼姓名和電話會返回空白?

$sql = "SELECT a.*, b.first_name, 
       CONCAT(c.fname, ' ', c.lname) AS name, c.phone 
        FROM sales a, users b, customers c 
         WHERE a.cid = c.id AND a.eid = b.id AND a.status = 0"; 

回答

1

你必須使用left joins

SELECT a.*, b.first_name, 
     CONCAT(c.fname, ' ', c.lname) AS name, c.phone 
FROM sales a 
INNER JOIN users b on a.eid = b.id 
LEFT JOIN customers c on a.cid = c.id 
WHERE a.status = 0