Короче думаю только цикл - перебор, внутри MySQL или через PHP.
_____________
Не тот велик, кто не падал, а тот кто падал и поднимался.
select group_concat( id ) from your_table where id in (1, 3, 4)
Цитата (ABC @ 8.07.2014 - 16:45) |
А если их миллиард? |
SELECT 1 FROM ('".implode("','",$val)."') AS `n`
WHERE NOT EXISTS (SELECT 1 FROM `tab` WHERE `int`=`n` LIMIT 1)
LIMIT 1
Цитата |
Подожди... Ты, случайно, не бреши в автоинкрементных полях собираешься искать? |
SELECT * FROM (2,8,90) AS w
Цитата |
SELECT 1 FROM ('".implode("','",$val)."') AS `n` WHERE NOT EXISTS (SELECT 1 FROM `tab` WHERE `int`=`n` LIMIT 1) LIMIT 1 |
SELECT * FROM (SELECT 2,8,90) AS w
Цитата (ABC @ 8.07.2014 - 17:59) |
SELECT * FROM (SELECT 2,8,90) AS w |
select *
from
(
select 2 as id
union
select 8
union
select 90
) ini_sel
Цитата |
И что это тебе даст? Получишь ты набор колонок с цифрами, но не набор строк. |
Цитата |
SELECT * FROM (SELECT (900) AS `id`) AS `r` Задаю таблицу с столбцом id с значением 900, как туда добавить еще 800? SELECT * FROM (SELECT (802,900) AS `id`) AS `r` ругается что должно быть 1 значение |
Цитата (ABC @ 8.07.2014 - 18:19) |
как остальные 2 туда запихнуть? |
Цитата |
Тогда уж вот так: select * from ( select 2 as id union select 8 union select 90 ) ini_sel |
$val=['SELECT 1 AS `id`','SELECT 3','SELECT 344']
SELECT 1 FROM ('".implode("'UNION'",$val)."') AS `n`
WHERE NOT EXISTS (SELECT 1 FROM `tab` WHERE `int`=`id` LIMIT 1)
LIMIT 1
$val=['SELECT 1 AS `id`','3','344'];
implode ( ' UNION SELECT ', $val);