2013-08-07 52 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