Php 从MYSQL查询返回2个单独的列作为1列
我正在尽可能多地处理查询,因为这是我当前项目中列出内容的最快方式 这就是我要做的 我有一张有车站的桌子:Php 从MYSQL查询返回2个单独的列作为1列,php,mysql,Php,Mysql,我正在尽可能多地处理查询,因为这是我当前项目中列出内容的最快方式 这就是我要做的 我有一张有车站的桌子: id | station_call | station_band --------+-----------------+------------- 1 | WABC | FM 2 | WXYZ | AM 现在,通常情况下,在获得Resultl后,只需使用PHP将两者连接起来即可获得完整的站点名称 $row[
id | station_call | station_band
--------+-----------------+-------------
1 | WABC | FM
2 | WXYZ | AM
现在,通常情况下,在获得Resultl后,只需使用PHP将两者连接起来即可获得完整的站点名称
$row["station_call"] . "-" . $row["station_band"];
将导致WACB-FM和WXYZ-AM
有没有一种方法可以在查询中实现这两者的连接
基本上返回一个新行,类似于station_name,并且名称已经格式化为WACB-FM
奖金:
这可能会让它变得更难,我的查询也会在JOIN语句中获取这些结果,并作为GROUP_CONCAT()进行处理
现在,我有两个get-separate GROUP_CONCATS()作为每行中的两个独立列返回,结果是“WABC,WXYZ”和“FM,AM”,并且必须分解字符串并基于索引将它们连接起来
基本上,我需要它作为一系列站名返回,以逗号分隔
因此,当我得到最后一行时,我尝试只引用$row[“stations”]并得到“WABC-FM,WXYZ-AM”
您需要mysql concat函数
组函数(问题的奖金部分)内的解决方案如下所示:
SELECT GROUP_CONCAT(CONCAT(s.radiostation_call, '-', s.radiostation_band) SEPARATOR '|') AS station_info FROM stations GROUP BY ID
您需要mysql concat函数
组函数(问题的奖金部分)内的解决方案如下所示:
SELECT GROUP_CONCAT(CONCAT(s.radiostation_call, '-', s.radiostation_band) SEPARATOR '|') AS station_info FROM stations GROUP BY ID
为什么你不能直接使用?
conact
也是我的出价。。你应该发布你的代码/查询。@RowlandShaw你是对的。我已经在使用GROUP\u CONCAT()
我不知道你可以在另一个类似的函数中使用CONCAT()
为什么你不能直接使用?conact
也是我的出价。你应该发布你的代码/查询。@RowlandShaw你是对的。我已经在使用GROUP\u CONCAT()
我不知道你可以在另一个类似的函数中使用CONCAT()
,谢谢。我到底是怎么知道group_concat()的,而不是concat(),在我的例子中我不得不使用这两种方法(见奖励):group_concat(concat(s.
radiostation\u call,“-”,s.
radiostation\u band)分隔符“|”)
@eeete因为堆栈溢出在那里。在30年的计算机科学生涯中,我从未遇到过一个无所不知的开发人员。我会将你的最终解决方案添加到我的答案中,以供阅读本文的其他人完成。这很有效,谢谢。我到底是怎么知道group_concat()的,而不是concat(),在我的例子中我不得不使用这两种方法(见奖励):group_concat(concat(s.
radiostation\u call,“-”,s.
radiostation\u band)分隔符“|”)
@eeete因为堆栈溢出在那里。在30年的计算机科学生涯中,我从未遇到过一个无所不知的开发人员。我将在我的答案中添加您的最终解决方案,以供阅读本文的其他人使用。