Mysql
 sql >> база данни >  >> RDS >> Mysql

Комбиниране на две таблици с sql JOIN?

Трябва да групирате по нещо или по сборния GROUP_CONCAT() ще събере всички редове в един:

GROUP BY  tour_foreign.id 

Използвайте:

$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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изтриването на ред от изглед изтрива ли ред от основната таблица - MySQL?

  2. Комбинирайте полета от различни редове при условие

  3. Как да структурирам SQL заявка, за да намеря обект, който е родител на два конкретни други обекта?

  4. актуализиране на няколко реда, използвайки лимит в mysql?

  5. Може ли MySQL Cluster да обработва терабайтова база данни