Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何将其他表中的选择分组为sql中的一列?_Mysql_Sqlalchemy_Flask Sqlalchemy - Fatal编程技术网

Mysql 如何将其他表中的选择分组为sql中的一列?

Mysql 如何将其他表中的选择分组为sql中的一列?,mysql,sqlalchemy,flask-sqlalchemy,Mysql,Sqlalchemy,Flask Sqlalchemy,这里有两张表: a: b: 是否有方法从a和b中进行选择,以便对于一个id2,有一个附加字段将该id中的所有内容分组?选择结果应如下所示: +-----+------------------------+-----------+ | id | type | contents | +-----+------------------------+-----------+ | 2 |I. | q,a |

这里有两张表:

a:

b:

是否有方法从a和b中进行选择,以便对于一个id
2
,有一个附加字段将该id中的所有内容分组?选择结果应如下所示:

+-----+------------------------+-----------+
| id  | type                   | contents  |
+-----+------------------------+-----------+
| 2   |I.                      | q,a       |
+-----+------------------------+-----------+
已编辑 顺便说一句,如果sqlahcmey有办法做到这一点,那就太好了

SELECT b.id, b.type, IFNULL(GROUP_CONCAT(a.conten), '') AS contents
FROM b
LEFT JOIN a ON a.id = b.id
GROUP BY b.id

有关如何将
GROUP\u CONCAT
转换为SQLAlchemy的信息,请参阅。

Yes GROUP\u CONCAT与GROUPmysql或sql server?@Eli mysql。抱歉打错了标记抱歉打扰您@barmar但是在组\u concat之前IFNULL的用法是什么?你也有单引号。只是好奇,因为它是新的,希望从我的错误中吸取教训。如果表
b
中没有匹配的行,
GROUP\u CONCAT()
将返回
NULL
。这会将空值转换为空字符串。哎呀,我把表倒过来了,修复了它。谢谢你提供的信息。还有一个名称应该在组_concat中固定。我无法编辑它。a的列不是内容而是内容。它们不是重复的ID。它们是一对多关系中的外键。
+-----+------------------------+-----------+
| id  | type                   | contents  |
+-----+------------------------+-----------+
| 2   |I.                      | q,a       |
+-----+------------------------+-----------+
SELECT b.id, b.type, IFNULL(GROUP_CONCAT(a.conten), '') AS contents
FROM b
LEFT JOIN a ON a.id = b.id
GROUP BY b.id