Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

мультивыборка, или как поймать 2х зайцев))

251
29 января 2009 года
SkyMаn
1.7K / / 31.07.2007
Приветствую, камрады!
Имеется таблица (мускул):
 
Код:
___________________________________
|   id   |  caption   |   thedate  | flags    |
===============================
|   44  |  blabla     |2009-01-01| AP301       |
|   45  | test22     |2008-01-02| AQ200       |
|  301 | cool     |2009-01-01| A        |
 .............
Вопрос: Как достать одним запросом 2 записи, где id=44 и id=301, если их связывает flags, например в записи с id=44 в строке flags есть подстрока
P301, где 301 - и есть id=301 второй записи.
Надеюсь изложить корректно.
8.2K
29 января 2009 года
Ora-cool
211 / / 20.09.2007
В качестве лирического отступления - все-таки нормализация хорошая штука в большинстве случаев. Почему бы не завести отдельное поле для внешнего ключа - связи между строками, для чего городить огород в виде сложносоставного флага?

Что касается вопроса - если нужна выборка на заданный id, то:

 
Код:
select * from t1 where t1.id = <id>
union all
select * from t1 where substr(t1.flags, ...) = <id>

где substr - операция выделения подстроки (подставить правильную - в myssql не силен).
Если же нужно получить список строк и к каждой строке добавить связанные, то в части union all нужно делать подзапрос и выбирать нужные строки.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог