php - 如何通过相同的条件值连接另一个表中的值

标签 php mysql sql

我创建了两个名为“posts”的表,其中包含字段 id,post_name 和“post_meta”,其中包含字段 id, post_id,meta_name,meta_vale..

然后我插入了一些这样的值。

在 Post 表中:-

+----+--------------+
| id |  post_name   |
+----+--------------+
| 15 | fsdfsd       |
| 16 | fsdgbfg fsd  |
+----+--------------+

在 Post_meta 表中:-

+----+---------+-----------+------------+
| id | post_id | meta_name | meta_value |
+----+---------+-----------+------------+
|  1 |      15 | image     | image1.jpg |
|  2 |      15 | image     | image2.jpg |
|  3 |      16 | image     | image3.jpg |
|  4 |      15 | image     | image4.jpg |
+----+---------+-----------+------------+

我想创建一个查询来获得这样的输出

+----+-------------+-------------+
| id |  post_name  | meta_value  |
+----+-------------+-------------+
| 15 | fsdfsd      | image1.jpg  |
| 16 | fsdgbfg fsd | image3.jpg  |
+----+-------------+-------------+

只有一个元值及其 post_id...

请帮帮我。

最佳答案

select m.id, p.post_name, m.meta_value
from posts p
inner join post_meta m on p.id = m.post_id
inner join 
(
   select post_id, min(id) as minid
   from post_meta
   group by post_id
) m2 on m.post_id = m2.post_id and m.id = m2.minid

关于php - 如何通过相同的条件值连接另一个表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20066101/

相关文章:

php - 增加繁忙服务器的 curl 超时

php - 我应该使用 UNION 还是其他方式从多个表中选择数据?

php - 需要有关此 SQL 查询的帮助

sql - 返回整个记录集 x 次(其中 x 是另一个表中的行数)

mysql - 选择每组最近的日期,但必须在连续的日期进行分组

javascript - 单击“提交”按钮时,ipad刷新选项卡

php - 插入 ENUM 列

php - 整个站点的持久 URL 查询字符串?

mysql - Ruby + mysql2 查询因变量而失败

python - MySQL 的数据库版本控制