mysql - 根据条件返回行字段

标签 mysql sql select

是否可以在 SQL 请求中执行这样的操作:

在第一个表(产品)中,我有以下内容:

ID         姓名
1          表
2           椅子

在第二个表(颜色)中,我有以下内容:
id        产品ID           颜色
1                   1                  红色
2                   1                绿色
3                   2                 白色

我想为每种产品获取一个列表,告诉我我的 dbb 中存在哪种颜色。 例如,我希望 SELECT 返回 2 行: 第一行: table ,红色,绿色 第二排:椅子,白色。 谢谢

最佳答案

这是不可能的。查询结果集中的每个结果都具有相同数量的字段。

不过,您可以使用 GROUP_CONCAT 来伪造它:

SELECT name, GROUP_CONCAT(c.color)
FROM Product AS p
LEFT OUTER JOIN color AS c ON p.id = c.ProductID
GROUP BY p.name

关于mysql - 根据条件返回行字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20774091/

相关文章:

arrays - 垂直连接部分单元格内容

mysql - INSERT SELECT MAX 与文本连接

mysql - 根据同一表上的两列选择单列的总和

mysql - Node/Express + MySQL : Inserts not displaying instantly

php - 在现有 MySQL 数据库上填充自动递增类型 ID?

mysql 使用同一表中的行作为条件?

SQL 可搜索缓存 - 高可扩展性

mysql - sql building的进出记录

mysql - 如何检查 TIME_TO_SEC(TIMEDIFF 值的 where 子句中是否为 null?

php - 阿拉伯字符插入 php mysql XML 解析错误 : not well-formed