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

Problem z zasięgiem MySql ze skorelowanymi podzapytaniami

Możesz skorelować tylko jeden poziom głębokości.

Użyj:

   SELECT m.nom,
          m.prenom,
          x.categories,
          y.areas
     FROM m3allens m
LEFT JOIN (SELECT m2c.m3allem_id,
                  GROUP_CONCAT(DISTINCT c.category_en) AS categories
             FROM CATEGORIES c
             JOIN m3allems_to_categories m2c ON m2c.category_id = c.id
         GROUP BY m2c.m3allem_id) x ON x.m3allem_id = m.id
LEFT JOIN (SELECT m2a.m3allem_id,
                  GROUP_CONCAT(DISTINCT a.area_en) AS areas
             FROM AREAS a
             JOIN m3allems_to_areas m2a ON m2a.area_id = a.id
         GROUP BY m2a.m3allem_id) y ON y.m3allem_id = m.id
    WHERE m.id = ?


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC - Statement, PreparedStatement, CallableStatement i buforowanie

  2. Grupa MySQL według kolejnych wierszy

  3. Odwracanie efektu `mysqli_real_escape_string`

  4. Jak obsłużyć masowe przechowywanie rekordów w bazie danych w celu autoryzacji użytkowników?

  5. Lista procesów MySql wypełniona wpisami uśpienia prowadzącymi do zbyt wielu połączeń?