我要拿到所有的身份证 table A
有效期从哪里开始 Table B
( INNER JOIN ID = A_ID
)是吗 < today (2018-06-29)
但我不确定,而且有点困惑。
根据我的例子(2018-06-29),我只需要检索 Name-4
因为所有的有效期从 Table B are < 2018-06-29
```
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
1条答案
按热度按时间yb3bgrhw1#
你是对的,你需要两个
GROUP BY
以及HAVING
条款。因为你要求所有的有效期A_ID
小于给定日期时,必须检查MAX()
该分组的过期时间。演示