Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Laravel Eloquent z dwoma „GDZIE NIE W” w podzapytaniu

Zamiast wykonywać 3 różne zapytania, których możesz użyć, jak pokazano poniżej,

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();

Ten kod da dokładnie to samo zapytanie, które zostało zadane w pytaniu, aby sprawdzić zapytanie, użyj następującego kodu

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();

Wyjście będzie,

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. MySql WorkBench AES 256 Deszyfrowanie

  2. Który jest szybszy i lżejszy - mysqli i PDO

  3. Jak skonfigurować aplikację Spring Boot, aby używała SSL/TLS przez MySQL?

  4. Dotacja na wiele baz danych. MySQL

  5. Nie mogę zainstalować mysql2 gem na macOS Sierra