Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết hợp hai bảng với sql JOIN?

Bạn cần nhóm theo thứ gì đó hoặc GROUP_CONCAT() tổng hợp sẽ gom tất cả các hàng thành một:

GROUP BY  tour_foreign.id 

Sử dụng:

$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. XÓA khỏi `bảng` NHƯ` bí danh` ... Ở đâu `bí danh`.` cột` ... tại sao lỗi cú pháp?

  2. Chỉ mục MySQL - bao nhiêu là đủ?

  3. Mã lỗi MySQL 1235

  4. Cách viết chuyển đổi để thay đổi khóa chính của mô hình với ManyToManyField

  5. Thuật toán tìm kiếm các mục liên quan dựa trên các thẻ phổ biến