在PHP中显示来自2个表的2个筛选列

在PHP中显示来自2个表的2个筛选列,php,mysql,Php,Mysql,我有两个表-users和users\u audit,需要将两个单独查询的结果显示为两列,并相互关联。我已经解决了这两个问题 用户查询:选择rowid,columnid=1的用户的数据按rowid分组 +-------+------------+ | rowid | data | +-------+------------+ | 1 | John | | 2 | Abi | | 3 | Tony | | 4 | Gr

我有两个表-users和users\u audit,需要将两个单独查询的结果显示为两列,并相互关联。我已经解决了这两个问题

用户查询:
选择rowid,columnid=1的用户的数据按rowid分组

+-------+------------+
| rowid | data       |
+-------+------------+
|     1 | John       |
|     2 | Abi        |
|     3 | Tony       |
|     4 | Gregg      |
|     5 | Jon        |
|     6 | Victor     |
|     7 | Daniel     |
查询用户\u审核:
选择从用户\u审核创建的日期,其中rowid=6按日期\u创建描述,日期\u创建描述限制1

查询的目的是显示为特定rowid创建的最新日期

+---------------------+
| date_created        |
+---------------------+
| 2012-07-04 09:20:12 |
+---------------------+
表users\U audit如下所示:

SELECT * FROM users_audit;

+-------+---------+--------------+-------------+---------------------+
|  id   |  rowid  | before_value | after_value | date_created        |
+-------+---------+--------------+-------------+---------------------+
|     1 |       6 | 3            | 5           | 2012-06-29 15:48:11 |
|     2 |       5 | Out (0)      | 2           | 2012-07-04 09:20:10 |
|     3 |       6 | 5            | 4           | 2012-07-04 09:20:12 |
|     4 |       7 | 3            | 6           | 2012-07-04 09:20:14 |
|     5 |       3 | 2            | 3           | 2012-07-04 09:20:16 |
|     6 |      15 | 6            | 5           | 2012-07-04 09:20:22 |
我需要为每个rowid显示两列-来自用户的数据和从用户创建的日期。这意味着必须为每个rowid(在循环中?)运行对用户的查询

在php中显示的预期结果是:

+------------+----------------------+
| data       | date_created         |
+------------+----------------------+
| John       | (latest date)        |
| Abi        | (latest date)        |
| Tony       | (latest date)        |
| Gregg      | (latest date)        |
| Jon        | (latest date)        |
| Victor     | 2012-07-04 09:20:12  |
| Daniel     | (latest date)        |

在php中如何实现这一点?

为什么不能创建一个视图并使用连接来创建所需的表

 SELECT users.data, users_audit.date_created FROM users 
     INNER JOIN users_audit ON users.rowid = users_audit.rowid
还是我在这里遗漏了什么

编辑


我相信这应该管用。。?让我知道。

这还不错,差不多,问题是这个查询将显示rowid 6(Victor)的id 1和3,我只想显示每个rowid的最新记录-它由用户审核中的最高id或最近日期表示,还需要保留columnid=1 GROUP BY rowid的第一条语句的这一部分,因为它过滤users表(它有更多的记录)。。。感谢以下内容在某种程度上对我有用:选择users.data,users\u audit.date\u从用户内部创建加入用户\u audit ON users.rowid=users\u audit.rowid,其中columnid=1;但是仍然需要只显示每个用户的最新日期。\u audit.rowid,知道吗?我会尝试修改我对max date的回答。它似乎不起作用,它给出:错误1242(21000):子查询返回多行如果我按rowid删除GROUP,那么我会得到多个结果,但只针对rowid 13(最后一个编辑表的人…)
 SELECT users.data, users_audit.date_created FROM users 
     INNER JOIN users_audit ON users.rowid = users_audit.rowid
     WHERE users_audit.date_created = (SELECT MAX(date_created) from users_audit
 GROUP BY rowid)