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

Laravel Eloquent với hai từ "WHERE NOT IN" trong truy vấn con

Thay vì thực hiện 3 truy vấn khác nhau, bạn có thể sử dụng như hình dưới đây,

DB::table('delivery_sap')
->whereNotIn('cust', function ($query) {
        $query->select('cust_name')->from('customer');
    })
->whereNotIn('cust_no', function ($query) {
        $query->select('cust_code')->from('customer');
    })
->select('cust', 'cust_no')
->distinct('cust')
->get();

Mã này sẽ cung cấp chính xác cùng một truy vấn được hỏi trong câu hỏi, để kiểm tra truy vấn, hãy sử dụng mã sau

DB::table('delivery_sap')
->whereNotIn('cust', function ($query) {
        $query->select('cust_name')->from('customer');
    })
->whereNotIn('cust_no', function ($query) {
        $query->select('cust_code')->from('customer');
    })
->select('cust', 'cust_no')
->distinct('cust')
->toSql();

Đầu ra sẽ là,

select distinct `cust`, `cust_no` from `delivery_sap` 
where `cust` not in (select `cust_name` from `customer`) 
and `cust_no` not in (select `cust_code` from `customer`)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách sử dụng điều kiện if / else trong một lựa chọn trong mysql

  2. Câu lệnh MYSQL IN

  3. Cách thực hiện:Xếp hạng Kết quả Tìm kiếm

  4. mysqldump Các phương pháp hay nhất:Phần 2 - Hướng dẫn di chuyển

  5. Cách cài đặt MySQL với phpMyAdmin trên Debian 7