berkut
Новичок
сложный запрос, replace(), IN()
приветствую. помогите разобраться с проблемкой:
поле t2.t1_ids содержит список значений t1.id, разделённые символом |
нормализовать базу не представляется возможным.
Нужно делать выборку t1.value, id которых перечисленны в t2.t1_idsсостряпал следующий запрос
и понял, что работать он небудет, т.к. replace() возвращает строку, а не набор значений. Подскажите, как можно решить эту задачу?
приветствую. помогите разобраться с проблемкой:
Код:
CREATE TABLE `t1` (
`id` smallint(6) unsigned NOT NULL default '0',
`value` varchar(100) NOT NULL default ''
)
CREATE TABLE `t2` (
`id` smallint(6) unsigned NOT NULL default '0',
`t1_ids` varchar(100) NOT NULL default ''
)
нормализовать базу не представляется возможным.
Нужно делать выборку t1.value, id которых перечисленны в t2.t1_idsсостряпал следующий запрос
Код:
SELECT t1.id, t1.`value` FROM t1, t2
WHERE t1.id IN (replace(t2.t1_ids, '|', ','))