MySQL:如何将 X2 行、Z1 列中 ID Y1 的字符串添加到 X1 行、ID Y1 到 Z1 列?

发布于 2024-11-09 05:30:38 字数 551 浏览 3 评论 0原文

TABLE A
Row  IdA ValueA
1    1   ABCD
2    2   EFGH
3    3   IJKL

TABLE B
Row IdB ValueB
1   1   QWER
2   2   TYUI
3   3   OPAS

CONNECTOR X
Row  IdA  IdB
1     1    1
2     1    2
3     2    3

我希望显示输出:

OUTPUT
Value A --- ValueB(1), ValueB(2)
ABCD    --- QWER, TYUI

因此,基本上,每当连接器表的 IdA 列中有一个双元组时,这两个(或更多)条目就会合并输出的“值”字段中的字符串。

这对于 MySQL 查询是否可行,或者我是否必须使用 PHP 数组对整个数据库进行排序?如果可能的话,我宁愿避免这种情况!

我查看了各种 JOIN 但无济于事,并考虑使用 GROUP BY 和 COUNT(DISTINCT ...) 查询,但这似乎是一种非常不优雅的方法。欢迎提出建议!

TABLE A
Row  IdA ValueA
1    1   ABCD
2    2   EFGH
3    3   IJKL

TABLE B
Row IdB ValueB
1   1   QWER
2   2   TYUI
3   3   OPAS

CONNECTOR X
Row  IdA  IdB
1     1    1
2     1    2
3     2    3

I want the output to display:

OUTPUT
Value A --- ValueB(1), ValueB(2)
ABCD    --- QWER, TYUI

So, basically, every time there's a doublet in the connector table's IdA column, those two (or more) entries merge the strings in the Value field for my output.

Is this even doable with a MySQL query, or do I -have- to resort to sorting through the whole database with a PHP array? I'd rather like to avoid that, if at all possible!

I've looked at the various JOINs to no avail and thought about using a GROUP BY and COUNT(DISTINCT ...) query, but it just seems a very inelegant way to go about it. Suggestions are welcome!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

爱,才寂寞 2024-11-16 05:30:38
SELECT a.ValueA, GROUP_CONCAT( b.ValueB SEPARATOR ', ' ) AS ValuesB
FROM connector c
JOIN tblA a ON c.IdA = a.IdA
JOIN tblB b ON c.IdB = b.IdB
GROUP BY a.IdA

会给你结果:

+--------+------------+
| ValueA | ValuesB    |
+--------+------------+
| ABCD   | QWER, TYUI |
| EFGH   | OPAS       |
+--------+------------+
SELECT a.ValueA, GROUP_CONCAT( b.ValueB SEPARATOR ', ' ) AS ValuesB
FROM connector c
JOIN tblA a ON c.IdA = a.IdA
JOIN tblB b ON c.IdB = b.IdB
GROUP BY a.IdA

Will give you results:

+--------+------------+
| ValueA | ValuesB    |
+--------+------------+
| ABCD   | QWER, TYUI |
| EFGH   | OPAS       |
+--------+------------+
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文