Выполнить запрос sql по массиву

SELECT ID, SUMM 
FROM DOCS D 
WHERE D.DATA = '2021-01-01' 
  AND (D.KOD = '020047' OR D.KOD = '020045')

Запрос успешно выполняется, возможно сделать чтоб поиск по поля KOD выполнялся по массиву, к примеру типа этого

$arr = ['020047', '020045'];
SELECT ID, SUMM 
FROM DOCS D 
WHERE D.DATA = '2021-01-01' 
AND D.KOD = $arr

Ответы (1 шт):

Автор решения: Алексей Шиманский
$implodedStr = implode('\',\'', $arr); // $implodedStr = implode("','", $arr);

$sql = <<<SQL
SELECT ID, SUMM 
FROM DOCS D 
WHERE D.DATA = '2021-01-01' 
AND D.KOD IN ('$implodedStr')
SQL;

Надо учесть то, что если это данные от пользователя, то надо будет использовать подготовленные выражения, а не напрямую так вставлять данные в код

→ Ссылка