sql >> データベース >  >> RDS >> Mysql

PHPSQL結合クエリはマルチ配列のコンテンツをマージします

    これは、PHPとMySQLの組み合わせで行うことができます。クエリを次のように変更します:

    SELECT section_titel as t1, GROUP_CONCAT(sub_section_titel) as t2 
    FROM sections LEFT JOIN sub_sections ON section_id = sId
    GROUP BY t1
    HAVING t2 IS NOT NULL
    

    これにより、次のような結果テーブルが表示されます:

    t1              t2
    Section One     SubOne,SubTwo
    Section Three   SubThree
    

    Section Twoの結果が必要な場合 、HAVING t2 IS NOT NULLを削除します クエリからの条件)

    次に、PHPで(mysqliを想定しています 接続$connを使用 )

    $result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
    $out = array();
    while ($row = mysqli_fetch_array($result)) {
       $out[] = array('t1' => $row['t1'], 't2' => explode(',', $row['t2']));
    }
    print_r($out);
    

    出力:

    Array
    (
        [0] => Array
            (
                [t1] => Section One
                [t2] => Array
                    (
                        [0] => SubOne
                        [1] => SubTwo
                    )    
            )
    
        [1] => Array
            (
                [t1] => Section Three
                [t2] => Array
                    (
                        [0] => SubThree
                    )
            )
    )
    


    1. PHPでmysqlクエリを常に更新する方法は?

    2. 大きな数をサポートする自然順

    3. 1つの大きなクエリを返すのが良いですか、それともいくつかの小さなクエリを返すのが良いですか?

    4. ORA-00001一意性制約に違反しました