结合的结果在MySQL
问题描述:
我有这个疑问:结合的结果在MySQL
$query =
"
SELECT
detail_firstN AS firstname,
detail_lastN AS lastname
FROM users
WHERE
users_id = :users_id
";
其结果将是这样的:
Array
(
[firstname] => John
[lastname] => Doe
)
是否有MySQL的任何方式,我可以合并的结果,让我有只有这个输出?
Array
(
[name] => John Doe
)
答
使用CONCAT
SELECT CONCAT(detail_firstN, ' ', detail_lastN) AS Name
FROM users
WHERE users_id = :users_id
或CONCAT_WS
SELECT CONCAT_WS(' ', detail_firstN, detail_lastN) AS Name
FROM users
WHERE users_id = :users_id
更新1
答
试试这个代码
<?PHP
function combine_result($array,$out_key = "name") // Deafult output key is [name]
{
if(is_array($array))
{
$vals = array_values($array);
$out = implode(" ",$vals);
return array($out_key=>$out);
}
}
$array = array(
"firstname" => "John",
"lastname" => "Doe");
print_r(combine_result($array)); // Array ([name] => John Doe)
?>
+1
为什么您需要在PHP中直接在MySQL服务器上执行此操作? –
+1
感谢你们,但正如我所说的,我需要通过MySQL来完成这项工作。 – fishcracker
感谢这个,它只是简单。 – fishcracker