sql >> Database >  >> RDS >> Mysql

Laravel Welsprekend met twee "WHERE NOT IN" in subquery

In plaats van 3 verschillende zoekopdrachten uit te voeren, zoals hieronder getoond,

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

Deze code geeft exact dezelfde vraag die in de vraag wordt gesteld, gebruik de volgende code om de vraag te controleren

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

Uitvoer zal zijn,

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. niet-geïnitialiseerde constante MysqlCompat::MysqlRes (met mms2r gem)

  2. Waarom duren query's die worden uitgevoerd vanuit mysql-workbench veel langer dan ze rechtstreeks vanuit de mysql-cli uit te voeren?

  3. Krijg resultaten van MySQL met behulp van PDO

  4. Postgres kon geen verbinding maken met de server