sql >> Database teknologi >  >> RDS >> Mysql

forespørgselsbygger:IN-klausul med sammensatte kolonner

AFAICT dette er ikke muligt (endnu) ved at bruge array-syntaksen eller regulære sammenligningsudtryk, koden, der er ansvarlig for transformation, håndterer kun enkelte felter og flade arrays, se

Kilde> \Cake \Database\Expression\Comparison::_stringExpression()

Dette er dog meget vel muligt ved at bruge et tupelsammenligningsudtryk, som understøtter håndtering af sæt af tupler ud af æsken. Internt bruges det af foreninger til at håndtere sammensatte nøgler.

$fields = ['order_date', 'order_number'];
$types = ['date', 'integer'];
$values = [
    ['2016-03-11', 3455453], 
    ['2016-03-18', 83545454], 
    ['2016-06-17', 5354544]
];

$query->where(
    new \Cake\Database\Expression\TupleComparison($fields, $values, $types, 'IN')
);

Kilde> \Cake\Database \Expression\TupleComparison




  1. En datamodel til at holde styr på din mest dyrebare besiddelse

  2. Hvordan sender jeg en liste som en parameter i en lagret procedure?

  3. Konverter en dato til Julian Day i PostgreSQL

  4. Sådan registrerer du, om en værdi indeholder mindst ét ​​numerisk ciffer i MySQL