php - 多重SELECT,避免MySQL查询中一张表出现重复结果

标签 php mysql

如何从两个表中进行选择,其中表 1 返回 1 行,表 2 返回多行,从而导致表 1 中没有重复项?

下面,page.title 有一行。 page_images.image_loc 可以有 1 到 10 之间的任何值。如果 page_images.image_loc 有 2 个或更多,则 page.title 将重复 page_images.image_loc 行数。如何将 page.title 限制为 1,但不限制 page_images.image_loc?

$query = mysql_query("
                      SELECT page.title,
                      page_images.image_loc
                      FROM page, page_images
                      WHERE page.url_category = '$category' AND
                      page.url_title = page_images.page_title
                    ");

最佳答案

您可以尝试 SELECT page.title, GROUP_CONCAT(page_images.image_loc) AS image_locs ... GROUP BY page.title 收集一行中的所有 image_loc 值,然后使用 explode() 分隔列表。

关于php - 多重SELECT,避免MySQL查询中一张表出现重复结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8362468/

相关文章:

php - CSS 如何防止 html 文件的主体和包含的文件合并?

php - 用特殊字符替换字符串

php - Magento 1.9 添加参数以添加到购物车 url

MySQL连接字符串不含敏感信息

php - 在 htaccess 中声明 session 最大生命周期

javascript - 在不先加载所有图像的情况下点击加载更多

mysql - VBA - 出现 'mysql server is --read-only' 错误,但仅在使用 RecordSet 时出现

mysql - 在 spring hibernate 中使用 OneToOne 关系防止在父表中插入空值

PHP 脚本在 crontab 中异常停止

php - Symfony2 中的 Doctrine 多次插入超时