Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.144.227.231] |
|
Данный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
Есть запрос вида
SELECT t3.id FROM t1, t2, t3 WHERE t1.aaa=1 AND t1.bbb=2 AND t1.id_group=t2.id_group AND t2.type_result=3 AND t3.id IN (t2.possible_id) Поле possible_id строковое, возможные варианты значений: 1,2,4 3,5,33,42 8,9,10,11,12 3,35,40,41,43 Проблема в том, что выбирается только одна запись, хотя хотелось бы все, с айдишниками перечисленными в поле possible_id. Как то можно победить сие? |
Сообщ.
#2
,
|
|
|
AND t3.id IN (t2.possible_id) AND FIND_IN_SET(t3.id, t2.possible_id) Но правильнее - набить лицо архитектору и, если ещё возможно, нормализовать таблицу t2. |
Сообщ.
#3
,
|
|
|
Спасибо, уже сам нашел, лицо набью себе сам, по поводу нормализации, как лучше сделать, не вижу более простого пути.
|
Сообщ.
#4
,
|
|
|
Создать таблицу possible_ids с полями t2_id (ссылка на запись таблицы t2) и possible_id (один id из списка, и, вероятно, числового типа). А это поле possible_id из t2 удалить нафиг.
Тогда в запрос добавится ещё одна таблица, а это условие трансформируется в AND t2.id = possible_ids.t2_id AND t3.id = possible_ids.possible_id |
Сообщ.
#5
,
|
|
|
Бля, я тормоз, спасибо.
|
Сообщ.
#6
,
|
|
|
Цитата Akina @ Создать таблицу possible_ids с полями t2_id Цитата Akina @ А это поле possible_id из t2 удалить нафиг. Для разных БД, Временные таблицы - затратны, удаление см п. 1. Если Gonarh уточнит задачу то решения Цитата Gonarh @ Бля, я тормоз, спасибо. Могут быть другими , кроме "могучего" первого слова в цитате. |