Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从MYSQL查询返回2个单独的列作为1列_Php_Mysql - Fatal编程技术网

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年的计算机科学生涯中,我从未遇到过一个无所不知的开发人员。我将在我的答案中添加您的最终解决方案,以供阅读本文的其他人使用。