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

Jak pogrupować dane tablicy zwracane przez zapytanie left join w php?

Chociaż możesz wygenerować pożądaną tablicę w jednej pętli, wolałbym wykonać dwa zapytania. Najpierw pobierz wszystkie marki do tablicy i dodaj pustą tablicę produktów do każdej marki. Następnie pobierz wszystkie produkty i przypisz je do powiązanej marki.

Ponieważ nie wiem, jakiej biblioteki DB używasz, oto jakiś pseudokod:

$data = [];

$brandResult = $db->query("SELECT id, name FROM tbl_brand");
while ($row = $brandResult->fetchObject()) {
    $row->product_names = [];
    $data[$row->id] = $row;
}

$productResult = $db->query("SELECT id, brand_id, p_name FROM tbl_products");
while ($row = $productResult->fetchObject()) {
    $data[$row->brand_id][$row->id] = $row->p_name;
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zoptymalizować wydajność MySQL za pomocą MySQLTuner

  2. uruchom ponownie serwer mysql w systemie Windows 7

  3. coś o ansi_nulls

  4. Jak odzyskać bazę danych MySQL z plików .myd, .myi, .frm

  5. Zaktualizuj tabelę mysql za pomocą zapytania wybierającego z innej bazy danych