首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用用户输入连接三个表

使用用户输入连接三个表
EN

Stack Overflow用户
提问于 2017-03-30 21:41:04
回答 3查看 311关注 0票数 1

我有三个表,A,B,C。表B有进入A和C的外键。A和C没有进入彼此的键。

我正在尝试编写一个查询,其中每次命中都来自表C中的一个列,该列的主键(B中的外键)与表A中的主键(B中的外键)相匹配。一个问题是,我试图根据用户输入来获取此信息,这将是表A中的一个单独的列。

示例:

代码语言:javascript
复制
TABLE A
-------
aID    aName
1      Squeakers
2      Formations
3      Hutsis
4      Pms

TABLE B
-------
bID    aID    cID
1      1      27930
2      1      21405
3      1      24013
4      2      21111
5      1      34100
6      1      20841
7      4      30001

TABLE C
-------
cID      cName
21405    Silver Flyer
27930    Babs McGee
30001    Jimmy McGill
24013    Fletcher Mason
21111    Spike Fester
34100    Hope Sisco
20841    Ellis Traeger

因此,我希望用户输入‘Squeakers’,然后得到如下内容:

代码语言:javascript
复制
Squeakers – Babs McGee, Silver Flyer, Fletcher Mason, Hope Sisco, Ellis Trager

我已经被困在这个问题上好几天了,也搞不清楚它的语法。我不确定我是否需要一个子查询,或者它是否不是所有的内部连接?

EN

回答 3

Stack Overflow用户

发布于 2017-03-30 22:03:32

您可以使用 join GROUP_CONCAT()来连接所有表,并在一行中获得所有cName。

试试这个:

代码语言:javascript
复制
SELECT GROUP_CONCAT(C.cName) AS cNames
FROM TableA A 
INNER JOIN TableB B ON A.aID = B.aID 
INNER JOIN TableC C ON B.cID = C.cID
WHERE A.aName = 'Squeakers';
票数 0
EN

Stack Overflow用户

发布于 2017-03-30 22:06:16

代码语言:javascript
复制
SELECT aName, GROUP_CONCAT(cName SEPARATOR ', ') as cNames
FROM A 
INNER JOIN B 
ON A.aID = B.aID
INNER JOIN C
ON B.cID = C.cID
GROUP BY aName, A.aID

您将获得两列-一列包含aName,另一列包含聚合的cNames,用逗号分隔。我现在的电脑上没有MySQL,但它或多或少应该是这样工作的。

票数 0
EN

Stack Overflow用户

发布于 2017-03-30 22:12:49

A-作者(每个作者一行) Author_Id,Author_Name,Author_Country

B- Author_Books (作者和图书之间的关系表,每个关系一行) AB_ID,Author_ID,Book_ID

C-书籍(每本书一行) Book_ID,Book_Name

现在,查询应该是

代码语言:javascript
复制
Select a.Author_Name,b.Book_Name
from Author a, Author_Books B, Books C
where a.author_id =b.Author_ID
and B.Book_ID = C.Book_ID
and a.Author_Country = ? //This is your squeaker clause
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43119659

复制
相关文章

相似问题

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