mysql - 将一个查询的查询结果转换为另一个查询的列

标签 mysql sql join pivot

我有两个具有一对多关系的表,假设我有这个。

**Table Owners**
K  Owner
1  Fred
2  Jason
3  Tonya

Table Cars

K CarBrand
1 Mitsubishi 
1 Honda
1 VW
2 Toyota
3 Ford

而不是得到这个:

K Owner CarBrand 
1 Fred  Mitsubishi 
1 Fred  Honda
1 Fred  VW

我想用这样的结果进行查询:

K Owner CarBrand1 CarBrand2 Carbrand3
1 Fred  Mitsubishi Honda     VW

我怎样才能做到这一点?

最佳答案

不是真的,但这很接近

Select k, owner, group_concat(carbrand)
FROM owners, cars
WHERE
owner.k = cars.k
GROUP BY car brand

抱歉格式问题,我会解决的。

关于mysql - 将一个查询的查询结果转换为另一个查询的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13404572/

相关文章:

mysql - 在数据库记录/Mysql中搜索字母

sql - 如何在 SQL Server 中选择父行和子行

mysql - 错误 1093 : MySQL can’t specify target table for update in FROM clause

python - Pandas:使用一个公共(public)列合并多个 DataFrame

php - 在 MySQL select 语句中合并 2 个表

mysql - 用mysql View 实现密集排名

mysql - 为什么直接列值比较在 mysql 中的多个 like 子句后不评估

mysqldump --routines 不包括创建的文件中的例程

sql查询动态返回行数

sql - 最大化 from 子句中的联接并最小化 where 子句中的联接 : true?