简体   繁体   English

MySQL选择具有相同ID的行(3个表)

[英]Mysql select rows with same id's (3 tables)

I have the following tables: 我有以下表格:

'blog_content' 'blog_content'

blog_content

'blog_media' 'blog_media'

blog_media

'blog_media_content' 'blog_media_content'

| blog_id | media_id   |
========================
|  1      |      1     |         
|  2      |      2     |  
|  3      |      3     |       
|  3      |      4     |        

I want to select all blog_media.uri 's where blog_media.media_id equals blog_media_content.blog_id . 我要选择所有blog_media.uri ,其中blog_media.media_id等于blog_media_content.blog_id

Please help me to achieve my aim. 请帮助我实现我的目标。

An inner join between blog_media and blog_media_content tables would suffice. blog_mediablog_media_content表之间进行inner join blog_media_content就足够了。

SELECT 
bm.uri 
FROM blog_media bm 
INNER JOIN blog_media_content bmc ON bm.media_id = bmc.media_id
WHERE bmc.blog_id =3; 

Note: 注意:

If you need any additional information from blog table then you need an additional inner join like below: 如果您需要blog表中的任何其他信息,那么您需要如下所示的其他inner join

...INNER JOIN blog_table b ON bmc.blog_id = b.blog_id...

EDIT: 编辑:

In order to get records for all blog_id s : 为了获取所有blog_id的记录:

SELECT 
bm.uri 
FROM blog_media bm 
INNER JOIN blog_media_content bmc ON bm.media_id = bmc.media_id
ORDER BY bmc.blog_id;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM