mysql - 需要一个 sql 查询来查找连接两个表但比较第二个表中的多行的结果
问题描述
下面给出了两个示例表
表:帖子
id title desc status
1 test testdesc active
2 test1 testdesc2 active
表:post_meta
id post_id meta_key meta_value
1 1 _customer_user 342
2 1 date_registered 2019-03-21
3 2 _customer_user 342
4 2 date_registered 2019-03-22
我想要一个 sql 查询来查找那些在 2019-03-21 注册并处于活动状态的人。想要如下结果。
id cusomerid registered_date
1 342 2019-03-21
解决方案
你可以试试下面 -
select a.id, b.meta_Value as customerid, b1.meta_value as registrationdate
from post a left join post_meta b
on a.id=b.post_id and b.meta_key='_customer_user'
left join post_meta b1
on a.id=b1.post_id and b1.meta_key='date_registered'
where status='active' and b1.meta_value='2019-03-21'
输出:
id customerid registrationdate
1 342 2019-03-21
推荐阅读
- excel - 如何等待 shell 命令完全打开应用程序?
- rust - 如何拆分给定的链表
- flutter - Appbar 小部件在调用 setState() Flutter 时不会立即刷新
- c# - 绑定 URL (http//image) imagebrush datatemplate WPF
- excel - 如何找到 Excel 的正式文档?
- vue.js - 如果有 *any* 错误,Vue 将不会渲染任何内容
- c++ - 如何正确地将 cv::Mat 转换为具有完美匹配值的 torch::Tensor?
- django - 无法解决 Git 错误“拒绝合并不相关的历史”
- javascript - 如何根据文件名排序文件?
- jquery - 引导模式弹出框有问题