获取行而不是列

时间:2014-12-28 12:41:27

标签: mysql

我有以下表格:

  

治疗:id,name,base_price,companies_id

     

公司:id,name

     

价格:id,treatment_id,companies_id,comp_price

我想创建一个选择,以显示具有相应公司价格的治疗名称,如下所示:

  

t.name | t.base_price | p.comp_price(公司#1)| p.comp_price(公司#2)| p.comp_price(公司#3)| p.comp_price(公司#4)|等...

公司数量多变。

使用以下SELECT:

`SELECT t.name, c.name, p.comp_price from treatments t left join prices p on p.treatment_id = t.id`

我为每个comp_price得到一行,每次治疗需要一行......

1 个答案:

答案 0 :(得分:0)

@Tony Hopkinson带我走向正确的道路!我在MYSQL查询中使用了GROUP_CONCAT()和GROUP BY,它可以工作!

SELECT t.name, c.name, GROUP_CONCAT(p.comp_price) FROM treatments t LEFT JOIN prices p ON p.treatment_id = t.id` GROUP BY t.name

感谢大家的提示!