php - MYSQL LEFT JOIN 未返回 id

标签 php mysql join

我正在尝试连接 2 个名为 adsimages 的表

广告

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

图像

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 的帖子。我哪里遗漏了一点?

最佳答案

您需要将 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

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

关于php - MYSQL LEFT JOIN 未返回 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28438353/

相关文章:

php - PHP 中可以将字符串转换为类名

MySQL远程: Alter privilege granted,但不工作

mysql - 如何连接多个表?

php - MySQL : reset id start from 1 if day change

MySQL - 使用来自三个现有表的键创建新表

mysql - 查询 MYSQL 中单列中所有值都匹配的项目

MYSQL 查询在子查询或连接中使用 id

php - 使用 PHP 将 DATE TIMESTAMP 值插入 MySQL

phpmyadmin token 不匹配

php - 无法规范化属性 "timezone",因为注入(inject)的序列化程序不是规范化程序