MYSQL LEFT JOIN没有返回id

时间:2015-02-10 17:47:05

标签: php mysql join

我正在尝试加入名为adsimages

的2个表格

ads

ad_id       int(11)              
title       varchar(200)         
price       int(10)              
description text             
city        varchar(20)              
location    varchar(50)              
date        datetime

images

img_id  int(11)              
ad_id   int(11)              
images  varchar(100)         
session varchar(32)

当我尝试连接表并从广告表中获取所有信息并从图像表中获取信息(如果已上传)时,这是我的代码。

 SELECT *
    FROM ads
    LEFT OUTER JOIN images
    ON images.ad_id = ads.ad_id 
    GROUP BY ads.ad_id DESC

我遇到的问题是,如果广告没有图片,那么仍然会返回没有图片的帖子(这就是我想要的),但它不会返回ad_id。因此我无法找到没有ad_id的帖子。我在哪里错过了一点?

1 个答案:

答案 0 :(得分:1)

您需要将SELECT声明更改为此。

SELECT ads.*, images.img_id, images.images, images.session
    FROM ads
    LEFT JOIN images
    ON images.ad_id = ads.ad_id 
    GROUP BY ads.ad_id DESC

我还建议您从广告表中隐式定义您想要的内容,因为它会加快您的选择。