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

cách tạo select lồng nhau trên zend db

Bạn cần sử dụng Zend_Db_Expr các đối tượng trong truy vấn của bạn và cấu trúc mảng cho AS được chọn .

dưới đây là giải pháp bạn đang tìm kiếm:

<?php

$db = Zend_Db_Table::getDefaultAdapter();

//  inner query
$sqlSalesRepTotal = $db->select()
        ->from(array('ps' => 'profile'))
        ->joinLeft(array('xbp' => 'xref_store_profile_brand'), 'xbp.profile_id = ps.profile_id')
        ->where('xbp.brand_id = b.brand_id')
        ->where('ps.role = ?', 'salesrep')
        ->where('xbp.store_id IS NULL');

//  main query
$sql = $db->select()
        ->from(array('b' => 'brand'), array(
            //  NOTE: have to add parentesis around the expression
            'salesrepTotal' => new Zend_Db_Expr("($sqlSalesRepTotal)")
        ))
        ->where('....')
        ->group('brand_id');


//  debug
var_dump($db->fetchAll($sql));



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thay thế id bộ phận được phân tách bằng dấu phẩy bằng tên của chúng tương ứng?

  2. CONCAT cột với Laravel 5 hùng hồn

  3. Hướng dẫn MySQL Workbench - Hướng dẫn Toàn diện về Công cụ RDBMS

  4. MySQL - chọn dữ liệu từ cơ sở dữ liệu giữa hai ngày

  5. Cảnh báo:mysql_fetch_array ():đối số được cung cấp không phải là kết quả MySQL hợp lệ