php - SQL 查询返回两次值

标签 php mysql sql

<分区>

大家好,这是我在 Stackoverflow 上的第一篇文章:)

我的问题对你们来说可能很简单,但我不知道哪里出了问题...

SELECT *
FROM ecrit INNER JOIN
     friends f
     ON f.idfriend = ecrit.idAuteurPost  
WHERE ecrit.idAuteurPost = 2 OR f.isvalidate = 1
ORDER BY dateEcrit DESC

它返回给我:

enter image description here

我想要的是相同的结果,只是没有返回两次。我试过使用 DISCTINCTGROUP BY 但没有成功。感谢您的时间和耐心。 再见。

最佳答案

评论有点长。

我在您的结果集中没有看到重复的结果。有几对结果,其中 id_user 在它们之间不同。目前还不清楚你想要什么,但也许 exists 是:

SELECT e.*
FROM ecrit e
WHERE e.idAuteurPost = 2 OR
      EXISTS (SELECT 1
              FROM friends f
              WHERE f.idfriend = e.idAuteurPost AND  
                    f.isvalidate = 1
             )
ORDER BY e.dateEcrit DESC;

关于php - SQL 查询返回两次值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53240934/

相关文章:

php - 使用文本区域发布数据是否会自动添加斜杠(转义)文本?

PHP session 在刷新时不保存

没有 Composer 的 PHPMailer 安装

php - 使用 Jenkins 和 Php 代码嗅探器

php - PHP 类析构函数是否总是在 Apache HTTP 请求线程上下文中调用?

mysql - SUM 加入字段

sql - 如何解决必须具有唯一名称的外键约束?

mysql - 无法使用 MariaDB 控制台进行备份

大型数据库的 MySQL 转储似乎小于原始 MySQL 数据库本身

mysql - 如何在没有 GROUP_CONCAT 的情况下将行转换为列?