首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据最新关联对象进行查询

根据最新关联对象进行查询
EN

Stack Overflow用户
提问于 2012-02-24 21:58:05
回答 2查看 76关注 0票数 1

我有两个具有1-N关系的实体,如下所示:

代码语言:javascript
运行
复制
table_a
-------
id
name

table_b
------
id
table_a_id
name
status
created_at  

我正在寻找一种在MySQL中,尤其是Doctrine ORM中,在table_b上使用"where“子句查询table_a的方法,它只影响最后一个相关的table_b记录。

假设我有以下记录:

代码语言:javascript
运行
复制
table_a
----------------------------
id    | name
----------------------------
1     | john
2     | mary
3     | chuck

table_b
--------------------------------------------------
id    | table_a_id | name    | status | created_at
--------------------------------------------------
1     | 1          | blue    | 1      | 2000-01-01
2     | 1          | red     | 1      | 2012-12-31
3     | 2          | yellow  | 1      | 2000-01-01
4     | 2          | green   | 0      | 2012-12-31

所以我想告诉MySQL/Doctrine :给我具有table_b记录的table_a记录,最后一个相关元素的状态=1(根据created_at字段)

这应该只返回:

代码语言:javascript
运行
复制
table_a
----------------------------
id    | name
----------------------------
1     | john
EN

Stack Overflow用户

发布于 2012-02-24 22:06:54

不确定“原则”,但MySQL查询可能是

代码语言:javascript
运行
复制
select
      a.ID,
      a.Name
   from
      table_b B
         join table_a A
            on B.table_a_id = A.ID
   where
      B.status = 1
   order by
      B.Created_At DESC
   limit 1
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9431950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档