php - 使用左连接需要最高的ID

标签 php mysql left-join outer-join

我有两张 table ,
表 1 每个客户和营销事件都有许多,并且非常
表 2 每个客户和营销事件只有一个,并且很小

所以我想从表 1 中获取最新的(最高 ID),它与表 2 中的客户和营销事件相匹配,并且每个中只有一个。
我已经尝试过 MAX,并按顺序进行操作,但无法使其工作......

我得到的结果是从表 1 中选择最低 ID(我想要最高)

$result2 = mysql_query("SELECT table1.client,table1.campaign,table1.id 
FROM table1 

   LEFT OUTER JOIN
      table2
   ON     (table2.client = table1.client)
      AND (table2.campaign = table1.campaign )
WHERE (table2.enabled != 'disabled')

group by campaign asc
order by client,campaign,id asc
"); 

需要帮助......

最佳答案

从表 1 中选择 * 内部联接 ( 从表 1 中选择 MAX(table1.id) AS id INNER JOIN table2 ON table2.client = table1.client AND table2.campaign=table1.campaign 和 table2.enabled != 'disabled' GROUP BY table1.client、table1.campaign ) AS m ON m.id = table1.id

我想这就是你所要求的。对于每个表中存在的每种客户和营销事件组合,它都会为您提供表 1 中的最高 ID。

关于php - 使用左连接需要最高的ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22044467/

相关文章:

php - 用 Flash 和 PHP 编写视频聊天小部件

java - Hibernate JDBC 驱动程序 com.mysql.jdbc.Driver 无法加载

php - MySQL NOT IN 条件

sql - 将一个表中缺失的记录复制到新表中

php - 从数组输出单个 json 对象

php - POST 请求中的方括号

php - 服务器可以阻止 curl 请求吗?

sql - 选择 2 个不同的行 MySQL

sql - 为什么我的 WHERE 子句会影响我的 LEFT JOIN?

MySQL SUM 和 CASE 可以在 DISTINCTROW 上使用吗?