2016-02-10 3 views
1

Для массива = [1,1,1,2], таблица DB имеет запись для ids-1,2.Получение отдельных строк для массива WHERE IN с одинаковыми значениями

Запрос -> "SELECT * FROM table WHERE id in array" возвращает только две строки

Есть ли способ, где он возвращает 4 строки вместо

+0

существует только два строки в таблице –

+0

может быть больше –

+0

Если есть только две строки на столе, то это все, что вы получите от этого запроса?. –

ответ

0

Вы можете создать таблицу в линию с UNION ALL, то INNER JOIN ваш стол.? к нему:

SELECT t2.* 
FROM (
    SELECT 1 AS v UNION ALL SELECT 1 UNION ALL SELECT 1 UNION ALL SELECT 2 
) AS t1 
INNER JOIN mytable AS t2 ON t1.v = t2.id 
Смежные вопросы