Php mysql通过id将表1连接到表2,其中表2行是最新的日期和

Php mysql通过id将表1连接到表2,其中表2行是最新的日期和,php,mysql,sql,Php,Mysql,Sql,我有两张桌子,一张桌子 +----+-------------------------------------------------+------------+ | id | pixel | date | +----+-------------------------------------------------+------------+ | 2 | 7FB30~8BBEA~2B1FB~D5C

我有两张桌子,一张桌子

+----+-------------------------------------------------+------------+
| id | pixel                                           | date       |
+----+-------------------------------------------------+------------+
|  2 | 7FB30~8BBEA~2B1FB~D5C54~205BD~05A28~9FAB6~F8D2A | 1417334510 |
|  3 | 7FB30~8BBEA~2B1FB~D5C54~205BD~05A28~9FAB6~F8D2A | 1417358993 |
|  4 | 7FB30~8BBEA~2B1FB~D5C54~205BD~05A28~9FAB6~F8D2A | 1417443262 |
+----+-------------------------------------------------+------------+
表二

+----+---------+--------+------------+
| id | lead_id | status | date       |
+----+---------+--------+------------+
| 11 |       3 |      2 | 1417359373 |
| 10 |       2 |      2 | 1417357705 |
| 12 |       2 |      4 | 1417422929 |
| 13 |       4 |      2 | 1417443292 |
+----+---------+--------+------------+
我想在1.id到2.lead\u id和最新日期上加入表1到表2 然后,如果2.status等于x,则选择它

所以结果是这样的

+--------+--------+-------------+------------+-----------+------------+
| one.id | two.id | two.lead_id | two.status | one.pixel | two.date   |
+--------+--------+-------------+------------+-----------+------------+
|   3    |    11  |     3       |       2    | 7FB30...  | 1417359373 |
|   2    |    12  |     2       |       4    | 7FB30...  | 1417422929 |
|   4    |    13  |     4       |       2    | 7FB30...  | 1417443292 |
+--------+--------+-------------+------------+-----------+------------+

谢谢。

我不确定2.x与问题或结果有什么关系。看起来您希望表2中的第一条记录位于表1之上或之后

其思想是使用相关子查询为表1中的每一行获取表2中的行id。然后加入其余字段:

select t.id as one_id, t.two_id, t2.lead_id, t2.status, t.pixel, t2.date
from (select t1.*,
             (select t2.id
              from table2 t2
              where t2.date >= t1.date
              order by date
              limit 1
             ) as two_id
      from table1 t1
     ) t join
     table2 t2
     on t.two_id = t2.id;

如果2.status等于x,那么选择是什么意思?什么是x?这个问题每天在某某或其他地方被问好几次。通常情况下,它的回答也是正确的。您想要查询,或者想知道如何使用php完成查询?如果您需要mysqli的信息,我建议您看不到任何答案实际上对我有帮助,我这次尝试提供尽可能多的信息。请注意,状态在表2中,而不是表1中。如果我添加status=2,则只有当joind status等于2时才会返回,如果您将where status=2添加到外部查询,它将只返回结果状态为2.1054的行-字段列表中的未知列“t1.pixel”