$fields = [
'clientName' => 'name',
'clientPhone' => 'phone',
'clientEmail' => 'email'
];
$where = [];
$resultArr = [];
foreach($fields as $key => $field) {
if($arr[$key]) {
$where[] = "`$field` LIKE ?";
$resultArr[] = '%' . $arr['clientName'] . '%';
}
}
if(count($where) > 0) {
$sql .= ' WHERE ' . implode(' AND ', $where);
}
SELECT a.*,
b.summa, b.name, b.discount,
FROM params a
LEFT JOIN (
SELECT
COALESCE( sum( IF( vozvrat = 0, summa, -summa) ), 0) as summa,
d.name, d.discount
FROM `discounts` d
LEFT JOIN `checks` c ON d.ean = c.ean GROUP BY c.ean
) b ON b.ean=a.ean
WHERE a.somefield="somevalue"
в файле /bitrix/php_interface/dbconn.php добавил константу define("BX_USE_MYSQLI", false), а в файле /bitrix/.settings.php изменил '\\Bitrix\\Main\\DB\\MysqlConnection' на '\\Bitrix\\Main\\DB\\MysqliConnection'.
UPDATE table1 JOIN table2 ON table1.value = table2.value
SET table1.value = 'newValue', table2.value = 'newValue'
WHERE table1.value = 'oldValue'