sql >> Databasteknik >  >> RDS >> Mysql

frågebyggare:IN-sats med sammansatta kolumner

AFAICT detta är inte möjligt (ännu) med arraysyntaxen eller reguljära jämförelseuttryck, koden som ansvarar för transformering hanterar endast enstaka fält och platta arrayer, se

Källa> \Cake \Databas\Expression\Comparison::_stringExpression()

Detta är dock mycket väl möjligt med ett tuppeljämförelseuttryck, som stöder hantering av uppsättningar av tupler ur lådan. Internt används den av föreningar för att hantera sammansatta nycklar.

$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')
);

Källa> \Cake\Database \Expression\TupleComparison




  1. Integrering av PostgreSQL med autentiseringssystem

  2. Tips för att lagra PostgreSQL-säkerhetskopior på Amazon AWS

  3. Hur man infogar en rad i en tabell mellan två befintliga rader i Sql

  4. Hur kan jag säkerställa att en materialiserad vy alltid är uppdaterad?