sql >> Database teknologi >  >> RDS >> Mysql

Kombinerer du to tabeller med sql JOIN?

Du skal gruppere efter noget eller den samlede GROUP_CONCAT() vil samle alle rækker i én:

GROUP BY  tour_foreign.id 

Brug:

$query = $this -> db -> query('
    SELECT
       @rownum := @rownum + 1 rownum,
       tour_foreign.id, 
       tour_foreign.name, 
       MIN(tour_foreign_residence.name_re) AS name_re, 
       tour_foreign.service, 
       tour_foreign.date_go, 
       tour_foreign.date_back, 
       tour_foreign.term,
       tour_foreign.useradmin_submit,
       tour_foreign.date_submit,
       GROUP_CONCAT( tour_foreign_residence.name_re 
                     ORDER BY tour_foreign_residence.name_re 
                     SEPARATOR " $ "
                   ) AS name_re_all
    FROM   tour_foreign 
      INNER JOIN tour_foreign_residence 
        ON ( tour_foreign.id = tour_foreign_residence.relation )
      JOIN (SELECT @rownum := 0) r
    WHERE  tour_foreign.name LIKE "%' . $find . '%" 
        OR tour_foreign_residence.name_re LIKE "%' . $find . '%"
    GROUP BY  tour_foreign.id ');


  1. MySQL-fejl:SELECT-listen er ikke i GROUP BY-sætning

  2. Hvordan bestemmer jeg den sidste dag i den foregående måned ved hjælp af PostgreSQL?

  3. Hvordan kan jeg slette dublerede rækker i en tabel

  4. Hvordan opretter man forbindelse til ekstern MySQL-server via SSH ved hjælp af JPA?