我试图在查询中尽可能多地处理,因为这是在我当前项目中列出内容的最快方法。
这是我想要做的事情。
我有一个有车站的桌子:
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"
答案 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