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

Trả lại kết quả bị thiếu từ nhiều bảng thành nhiều bảng

Xin lưu ý bạn, tôi không quen với Zend-Framework, vì vậy bạn có thể phải điều chỉnh điều này một chút. Nhưng bạn cần sử dụng Brands dưới dạng bảng chính / đầu tiên, để nó có thể lấy tất cả các bản ghi của bảng đó trước, sau đó khớp nó với các bảng còn lại.

public function getUserBrands($userId) {
    $select = new Select();
    $select->from(array('b' => 'brands'));
    $select->join(array('bu' => $this->table), 'bu.brandId = b.id', array('id','name'),Select::JOIN_LEFT);
    $select->join(array('u' => 'users'), 'u.id = bu.userId', array('id','username'),Select::JOIN_LEFT);
    $where = new Where();
    $where->equalTo("bu.userId",$userId);
    $select->where($where);
    return $this->branduserTable->selectWith($select)->toArray();
}



  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 - Cách nối hai truy vấn để bỏ qua các phần tử được tìm thấy trong truy vấn thứ hai (hoặc có lẽ bất kỳ giải pháp nào tốt hơn?)

  2. Google AppEngine ImportError:mô-đun động không xác định hàm init (init_mysql)

  3. ActiveRecord where_in () với mảng

  4. Khôi phục MySQL trên công cụ MyISAM

  5. Tạo phiên bản từ dữ liệu mySQL bằng php