sql >> Database >  >> RDS >> Mysql

Twee tabellen combineren met sql JOIN?

Je moet groeperen op iets of de aggregatie GROUP_CONCAT() verzamelt alle rijen in één:

GROUP BY  tour_foreign.id 

Gebruik:

$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 CONCAT () AS naam?

  2. Ontdek de oorzaken en oplossingen van corruptie in de SQL Server-database

  3. Tabel wordt twee keer gespecificeerd, zowel als doel voor 'UPDATE' en als aparte bron voor gegevens in mysql

  4. Overstappen van MySQL 5.7 naar MySQL 8.0 - Wat u moet weten