首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混淆组和使用php的子句

混淆组和使用php的子句
EN

Stack Overflow用户
提问于 2018-06-29 13:56:27
回答 1查看 27关注 0票数 1

我需要从table A获得所有ID,其中Table B (INNER JOIN ID = A_ID)的所有过期日期都是< today (2018-06-29),但我不确定,对查询来说也有点混乱。

根据我的示例(2018-06-29),我只需要检索Name-4,因为所有的过期日期都来自Table B are < 2018-06-29

代码语言:javascript
复制
Table A

ID | Name   |
-------------
1  |  Name-1
2  |  Name-2
3  |  Name-3
4  |  Name-4
5  |  Name-5
6  |  Name-6
7  |  Name-7

Table B

ID | A_ID |  Expiry
-----------------------
1  |  1   |  2018-06-29
2  |  2   |  2018-07-29
3  |  2   |  2018-06-29
4  |  3   |  2018-07-29
5  |  3   |  2018-04-29
6  |  4   |  2018-05-29
7  |  4   |  2018-04-29
8  |  6   |  2018-09-29
9  |  6   |  2018-10-29
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-29 14:15:14

正确的是,您同时需要GROUP BYHAVING子句。由于您要求匹配的A_ID的所有到期日期都小于给定日期,所以必须检查该分组的MAX()过期日期。

代码语言:javascript
复制
SELECT ta.* FROM tableA ta JOIN tableB tb ON ta.ID = tb.A_ID
GROUP BY ta.id
HAVING MAX(Expiry) < '2018-06-20';

演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51103428

复制
相关文章

相似问题

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