gpt4 book ai didi

mysql - 使用/用户输入连接三个表

转载 作者:行者123 更新时间:2023-11-30 22:01:52 25 4
gpt4 key购买 nike

我有三个表,A、B、C。表 B 有指向 A 和 C 的外键。A 和 C 没有指向彼此的键。

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

例子:

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”,然后得到如下内容:

Squeakers – Babs McGee, Silver Flyer, Fletcher Mason, Hope Sisco, Ellis Trager

我已经被困在这个问题上好几天了,无法弄清楚语法。我不确定我是否需要子查询,或者是否不是所有的 INNER JOINS?

最佳答案

您可以使用JOINGROUP_CONCAT() 连接所有表并在一行中获取所有cName。

试试这个:

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';

关于mysql - 使用/用户输入连接三个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43119659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com