SQLRU.net - RDF-канал
http://www.sqlru.net/index.php
Несколько ID в строке через запятую
http://www.sqlru.net/index.php/mv/msg/240/1658/#msg_1658
Разрабатываю в компании систему управления задачами для сотрудников на PHP + MySQL. Столкнулся вот с чем:
Есть база SQL, в которой есть таблица "tasks" со следующими столбцами: id, icUserId, ownUserId, ...
В столбце "icUserId" хранятся id ответственных за задачу пользователей через запятую (например: "2,12,3,9)
Я авторизован, допустим, под пользователем с id = 12
Как мне вывести список задач, где в icUserId есть id 12?
Для понимания, сейчас запрос выглядит так и работает только для задач, где один ответственный или id авторизованного стоит первым: SELECT * FROM tasks WHERE (icUserId = "'.$userId.'" OR ownUserId = '.$userId.')';
В SQL и PHP разбираюсь на минимальном уровне, поэтому не закидывайте камнями сходу ]]>Grapefruit2023-02-21T08:42:18-00:00Re: Несколько ID в строке через запятую
http://www.sqlru.net/index.php/mv/msg/240/1661/#msg_1661
BlackEric2023-02-21T09:45:37-00:00Re: Несколько ID в строке через запятую
http://www.sqlru.net/index.php/mv/msg/240/1664/#msg_1664
Grapefruit2023-02-21T12:41:12-00:00Re: Несколько ID в строке через запятую
http://www.sqlru.net/index.php/mv/msg/240/1665/#msg_1665
WHERE ... IN (2,12,3,9)
но я лично твою задачу не понял.]]>МП2023-02-21T14:01:07-00:00Re: Несколько ID в строке через запятую
http://www.sqlru.net/index.php/mv/msg/240/1667/#msg_1667
Вот запрос:
SELECT * FROM tasks WHERE icUserId = '.$userId.'
Выглядит для понимания так:
Список задач. В нём нужно показывать также задачи, где id пользователя есть дальше через запятую
Несколько ответственных:
]]>Grapefruit2023-02-21T14:54:22-00:00Re: Несколько ID в строке через запятую
http://www.sqlru.net/index.php/mv/msg/240/1669/#msg_1669
BlackEric2023-02-22T06:36:54-00:00Re: Несколько ID в строке через запятую
http://www.sqlru.net/index.php/mv/msg/240/1670/#msg_1670
Допустим, есть записb в таблице "tasks":
id|name|icUserId|...
1|Название задачи|1,2|...
2|Название задачи 2|2|...
Как мне вывести обе задачи запросом вида "SELECT * FROM tasks WHERE icUserId = 2"?
Буду крайне признателен за помощь!
P.S. В будущем сделаю, как вы советуете, но сейчас нужно оперативное решение...
]]>Grapefruit2023-02-22T07:25:09-00:00Re: Несколько ID в строке через запятую
http://www.sqlru.net/index.php/mv/msg/240/1671/#msg_1671
Таблица:
id | name | icUserId | ...
1 | Задача 1 | 2 | ...
2 | Задача 2 | 1,2 | ...
...
45 | Задача 45 | 2,5 | ...
Мне нужно получить список задач, где есть ответственный с ID = 2:
SELECT * FROM tasks WHERE icUserId = 2
]]>Grapefruit2023-02-22T11:04:12-00:00Re: Несколько ID в строке через запятую
http://www.sqlru.net/index.php/mv/msg/240/1674/#msg_1674
BlackEric2023-02-22T13:21:28-00:00Re: Несколько ID в строке через запятую
http://www.sqlru.net/index.php/mv/msg/240/1675/#msg_1675
]]>Grapefruit2023-02-22T14:15:47-00:00