从MYSQL查询中将2个单独的列作为1列返回

时间:2017-02-10 15:48:04

标签: php mysql

我试图在查询中尽可能多地处理,因为这是在我当前项目中列出内容的最快方法。

这是我想要做的事情。

我有一个有车站的桌子:

id      | station_call    | station_band
--------+-----------------+-------------
1       | WABC            | FM
2       | WXYZ            | AM

现在通常情况下,在获得结果后,只需用PHP加入两个就可以获得完整的电台名称

$row["station_call"] . "-" . $row["station_band"];

将导致WACB-FM和WXYZ-AM

我有没有办法在查询中加入这两个?

基本上返回一个新行,例如station_name,并且名称已经格式化为WACB-FM

加成:

这可能会让它变得更难,我的查询也会在JOIN语句中获取这些结果并作为GROUP_CONCAT()进行处理

现在,我有两个得到单独的GROUP_CONCATS()作为每行中的两个单独的列返回,导致" WABC,WXYZ"和" FM,AM"并且必须根据索引

分解字符串并加入它们

基本上,我需要将它作为一系列以逗号分隔的电台名称返回。

所以当我得到最后一排时,我试图引用$ row [" station"]并获得" WABC-FM,WXYZ-AM"

1 个答案:

答案 0 :(得分:6)

SELECT concat(station_call, '-', station_band) AS station_info FROM stations; 

你需要mysql-concat函数。

group_concat-functions中的解决方案(Bonus-part of question)如下所示:

SELECT GROUP_CONCAT(CONCAT(s.radiostation_call, '-', s.radiostation_band) SEPARATOR '|') AS station_info FROM stations GROUP BY ID