php - Mysql Alias 中的自定义数组索引

标签 php mysql

我想知道是否可以将Mysql查询的记录列出到自定义数组中 就像我做的那样

SELECT CAT.catgryname,count(JB.knifeid) AS total 
FROM jbs AS JB 
LEFT JOIN krgstrs AS KR ON KR.id = JB.knfid 
LEFT JOIN accnts AS ACC ON ACC.job_id = JB.id 
LEFT JOIN catgor AS CAT ON CAT.id = KR.subctid
WHERE JB.usrid =xxx  
GROUP BY CAT.catgryname

它给了我

[0] => Array
        (
            [CAT] => Array
                (
                    [categoryname] => Fridge Magnet
                )

            [0] => Array
                (
                    [total] => 22
                    [MNTH] => Jan
                )

        )

我想为嵌套在其中的第二个数组使用自定义索引而不是 0

[0] => Array
        (
            [CAT] => Array
                (
                    [categoryname] => Fridge Magnet
                )

            [DET] => Array
                (
                    [total] => 22
                    [MNTH] => Jan
                )

        )

请注意此处的 DET 而不是 0。

我试过了

SELECT CAT.catname,count(cat.id) as DET.total

但它会抛出一个错误,因为我认为它将 DET 解释为此处的一个表。 谢谢大家。

最佳答案

我不会在数据库端这样做。 但是我不知道如何获取数组(使用 mysqlimysql PHP 扩展)。不管怎样,只需在 PHP 端执行此操作,如评论中指出的那样。

尝试使用它($results 是您所描述的数组 - 带有索引 CAT0)

$newArray = array();
foreach($results as $result) {
    $newArray[] = array(
        'CAT' => array(
            'categoryname' => $result["CAT"]["categoryname"]
        ),
        'DET' => array(
            'total' => $result[0]["total"],
            'MNTH' => $result[0]["MNTH"]
        )
    );
}

然后你就可以使用$newArray

关于php - Mysql Alias 中的自定义数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14643770/

相关文章:

php - 以一种形式上传文本和图像,使用 PHP 将路径和文本存储在数据库中

mysql - 操作 'case' 的排序规则 (utf8_general_ci,COERCIBLE) 和 (latin1_swedish_ci,IMPLICIT) 的非法混合

mysql - 将 sql 模式文件的 git diff 转换为应用/撤消 sql 脚本

javascript - php简单联系表单-在页面刷新时停止提交

php - 正在向服务器发送信息,但信息在某处丢失

php - 实时更新Google Chart,php,mySQL

javascript - 根据相应的类将值迭代到不同的元素中

PHP/SQL - 将 SQL 结果设置为列表

mysql - 教义2 : JOIN query not working

php - 根据特定 ID 按字母顺序选择用户