sql Несколько парных сравнений, колонки через запятую, а потом значения списком в скабках

Forums:

Интересный формат:

SELECT DISTINCT `someColumn` FROM `MyCoolTable` 
WHERE `someColumn` LIKE 'ABCDEF%' 
AND `name1`, `name2` = ('value1', 'value2') 
ORDER BY `someColumn` ASC LIMIT 10

Такой запрос строится библиотекой библиотеки sqlstring:

import * as SqlString from 'sqlstring';

const searchName = 'someColumn';
const searchValue = 'ABCDEF';
const  TableName = 'MyCoolTable';

const params = [
	{
		name: 'name1',
		value: 'value1',
	},
	{
		name: 'name2',
		value: 'value2',
	},
];

const template = 'SELECT DISTINCT ?? FROM ?? WHERE ?? LIKE ? '
      + ' AND ?? = ? ORDER BY ?? ASC LIMIT 10';
const query = SqlString.format(template, [
	searchName,
	TableName,
	searchName,
	`${searchValue}%`,
	[params.map((item) => item.name)],
	[params.map((item) => item.value)],
	searchName,
  ]);