JM:I have a dream,期待和你一起去实现!
原文及译文
JM
网友:meleyal

        我有3个表格(档案有很多部分,部分(可能)属于许多档案):archive id PK description...

推荐:想去Google查资料?(你懂的)想建站?想测试?想挂机?想折腾?想要高性价比的服务器?点我!!


如何编写一个通过关系表获取结果的SQL语句? (多对多)(How to write a SQL statement which gets results via a relationship table? (many to many))

我有3个表格(档案有多个部分,部分(可能)属于多个档案):

档案

id PK description

archive_to_section

archive_id PK FK section_id PK FK

部分

{mark2} {mark2}

SQL看起来像列出属于某个档案ID的所有部分是什么样的?

我只是在学习SQL。从我读到的这听起来像我需要一个联合,或工会?仅供参考我正在使用postgres。

[编辑]这是从gdean2323没有别名写的答案:

SELECT section.* 
FROM section 
INNER JOIN archive_to_section 
ON section.id = archive_to_section.section_id 
WHERE archive_to_section.archive_id = $this_archive_id

I have 3 tables (archive has many sections, section (may) belong to many archives):

archive

id PK description

archive_to_section

archive_id PK FK section_id PK FK

section

{mark2} {mark2}

What would the SQL look like to list all the sections that belong a certain archive id?

I am just learning SQL. From what I've read it sounds like I would need a join, or union? FYI I'm using postgres.

[Edit] This is the answer from gdean2323 written without aliases:

SELECT section.* 
FROM section 
INNER JOIN archive_to_section 
ON section.id = archive_to_section.section_id 
WHERE archive_to_section.archive_id = $this_archive_id

解决方案(由网友Joel Coehoorn提供)
SELECT s.* 
FROM section s INNER JOIN archive_to_section ats ON s.id = ats.section_id 
WHERE ats.archive_id = 1

SELECT s.* 
FROM section s INNER JOIN archive_to_section ats ON s.id = ats.section_id 
WHERE ats.archive_id = 1

推荐:想去Google查资料?(你懂的)想建站?想测试?想挂机?想折腾?想要高性价比的服务器?点我!!


关于站长

JMJavaMethod的缩写,苦逼码农一个,一直想有番作为,奈何人老力衰,只能四处膜拜大佬以获得动力。已经从单机、局域网、互联网、混到了移动互联网,未来希望能在AI世界里继续混下去。这辈子有个终极目标:财务自由,心灵自由。

近期公告

一个人苦逼开发多日,网站终于正式上线,求关注!!! 一个人苦逼多日,终于正式上线,求关注!!!

找他  
猜你喜欢
想建站?想测试?
想挂机?想折腾?
想去Google查资料?(你懂的)
想要高性价比的服务器?
搬瓦工VPS - 性价最高的美国便宜VPS主机
友情链接

冀ICP备17016304号 版权所有 © JavaMethod.com All Rights Reserved,Theme by 拼图