> 백엔드 개발 > PHP 튜토리얼 > mysql多表复杂业务查询(如下),应该怎样写查询语句?

mysql多表复杂业务查询(如下),应该怎样写查询语句?

WBOY
풀어 주다: 2016-06-06 20:46:47
원래의
1121명이 탐색했습니다.

需要查询A、B两张表:

表A table_a:涉及到两个字段 a_id , a_date

<code>| a_id      |    a_date  | ...  | ...  |
| :-------- | --------:  | :--: | :--: |
| 1         | 2014-03-12 | ...  | ...  |
| 2         | 2014-03-15 | ...  | ...  |
| 3         | 2013-08-06 | ...  | ...  |
| 4         | 2013-10-18 | ...  | ...  |
| 5         | 2012-04-15 | ...  | ...  |
| 6         | 2012-06-22 | ...  | ...  |
| ...       | ...        | ...  | ...  |
</code>
로그인 후 복사
로그인 후 복사

表B table_b:涉及到两个字段 b_id , b_category

<code>| b_id      |  b_category | ...  | ...  |
| :-------- | ----------: | :--: | :--: |
| 1         | tom         | ...  | ...  |
| 2         | jerry       | ...  | ...  |
| 3         | tom         | ...  | ...  |
| 4         | jerry       | ...  | ...  |
| 5         | tom         | ...  | ...  |
| 6         | tom         | ...  | ...  |
| ...       | ...         | ...  | ...  |
</code>
로그인 후 복사
로그인 후 복사

需求:
1.从 table_b 查询字段名 b_category 等于 tom 的字段 b_id 的值
2.将查得得值关联到 table_a 查询该 a_id 对应的 a_date 的值
3.对 a_date 截取前4位(年份),然后去重,并且按照倒序排列,输出。

回复内容:

需要查询A、B两张表:

表A table_a:涉及到两个字段 a_id , a_date

<code>| a_id      |    a_date  | ...  | ...  |
| :-------- | --------:  | :--: | :--: |
| 1         | 2014-03-12 | ...  | ...  |
| 2         | 2014-03-15 | ...  | ...  |
| 3         | 2013-08-06 | ...  | ...  |
| 4         | 2013-10-18 | ...  | ...  |
| 5         | 2012-04-15 | ...  | ...  |
| 6         | 2012-06-22 | ...  | ...  |
| ...       | ...        | ...  | ...  |
</code>
로그인 후 복사
로그인 후 복사

表B table_b:涉及到两个字段 b_id , b_category

<code>| b_id      |  b_category | ...  | ...  |
| :-------- | ----------: | :--: | :--: |
| 1         | tom         | ...  | ...  |
| 2         | jerry       | ...  | ...  |
| 3         | tom         | ...  | ...  |
| 4         | jerry       | ...  | ...  |
| 5         | tom         | ...  | ...  |
| 6         | tom         | ...  | ...  |
| ...       | ...         | ...  | ...  |
</code>
로그인 후 복사
로그인 후 복사

需求:
1.从 table_b 查询字段名 b_category 等于 tom 的字段 b_id 的值
2.将查得得值关联到 table_a 查询该 a_id 对应的 a_date 的值
3.对 a_date 截取前4位(年份),然后去重,并且按照倒序排列,输出。

<code class="lang-sql">select distinct substr(a_date,1,4) result_date
from table_a inner join table_b on a_id = b_id
where b_category = "tom"
order by result_date desc
</code>
로그인 후 복사

应该用join吧

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿