Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PHP SQL Join Query scalanie treści w Multi-Array

Możesz to zrobić za pomocą kombinacji PHP i MySQL. Zmień zapytanie na to:

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

To da ci taką tabelę wyników:

t1              t2
Section One     SubOne,SubTwo
Section Three   SubThree

(Jeśli chcesz uzyskać wynik dla Section Two , usuń HAVING t2 IS NOT NULL warunek z zapytania)

Następnie w twoim PHP (zakładam, że mysqli z połączeniem $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);

Wyjście:

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

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wstaw natychmiast dane do tabeli, które zostaną pobrane z polecenia wyboru mySQL

  2. Jak wyświetlić wartość zmiennej w linii poleceń w MySQL?

  3. Jaka jest lokalizacja klienta mysql .my.cnf w XAMPP dla Windows?

  4. Paginacja w Hibernate z połączonymi tabelami

  5. Wybierz 10 najlepszych rekordów dla każdej kategorii w MySQL