|
|
|
|
|
для: 345345
(10.06.2009 в 14:03)
| | На названия таблиц не обращайте внимания это запрос реальный ))
Вот этот запрос работает))
SELECT apartments.*, apartments_available_facilities.*
FROM apartments, apartments_available_facilities
WHERE apartments.id=apartments_available_facilities.id_apartments
AND apartments_available_facilities.id_facilities IN(9, 10, 23)
|
В том запросе ошибся, что-то не подумал )) | |
|
|
|
|
автор: 345345 (10.06.2009 в 14:03) |
|
|
для: yura_040
(10.06.2009 в 13:38)
| | yura_040, чтобы id_facilities был равен 44 И 32 И 20 одновременно? | |
|
|
|
|
|
|
|
для: yura_040
(10.06.2009 в 13:38)
| | не работает такой запрос | |
|
|
|
|
|
|
|
для: ronin80
(10.06.2009 в 08:28)
| | Да, скорее всего так и придется делать, создавать промежуточную таблицу availiable_facilities и хранить по одному ключу id_object и id_facilities.
Если я не ошибаюсь запрос будет таким и проблем не должно будет возникнуть
SELECT objects.*, availiable_facilities.*
FROM objects, availiable_facilities
WHERE objects.id=availiable_facilities.id_ojects
AND availiable_facilities.id_facilities='44'
AND availiable_facilities.id_facilities='32'
AND availiable_facilities.id_facilities='20'
|
Спасибо всем за помощь )) | |
|
|
|
|
|
|
|
для: ronin80
(10.06.2009 в 08:28)
| | угу.. только что-то я предложить предложил, а выборку сделать не могу)
может сделать временную таблицу со столбцами выбираемых удобств? Опять как-то загонно.... | |
|
|
|
|
|
|
|
для: yura_040
(09.06.2009 в 23:37)
| | да уж, я бы точно никогда так делать не стал, получается у вас в поле facilities в таблицу objects через запятую вставляются id выбраных удобств? а как же тогда выбирать наименования удобств? через конструкцию IN ? а если удобство понадобится удалить? что тогда чистить все значения столбца facilities где присутствует этот номер?
структура базы однозначно неверная, ноебходимо произвести нормализацию, как вам было предложено ранее, т.е. создать промежуточную таблицу и хранить в ней структуру Объект=>удобства со ссылками на первичные ключи справочников иначе это не последние трудности с которыми вы столкнётесь | |
|
|
|
|
|
|
|
для: yura_040
(09.06.2009 в 23:37)
| | Это я уже понял. Я имел ввиду другие разнообразные запросы.
Я книгу по MySQL найти не могу, без неё я как без рук))) | |
|
|
|
|
|
|
|
для: Valick
(09.06.2009 в 17:48)
| | требования такие, чтобы найти все записи в которых будут facilities например: 43,32,3
т.е человек ставит галочки в форме и каждой галочке соответствует например: 32- горячая вода, 43-TV, 3-DVD т.е. необходимо осуществить выборку по числам 32, 43, 3 или другие числа т.е. их может быть произвольное количество + сюда может быть еще тип какой-нибудь добавлен
SELECT * FROM objects WHERE MATCH(facilities) AGAINST ('32*' IN BOOLEAN MODE) AND
MATCH(facilities) AGAINST ('43*' IN BOOLEAN MODE) AND MATCH(facilities) AGAINST ('3*' IN BOOLEAN MODE) AND MATCH(type) AGAINST ('5*' IN BOOLEAN MODE) ORDER BY name
|
fulltext в facilities и type стоит в таблице
такой запрос не хочет выводить ничего (( | |
|
|
|
|
|
|
|
для: yura_040
(09.06.2009 в 17:43)
| | не спешите переделывать, может я ошибаюсь и Ваш вариант удобнее
я же не знаю всех остальных требований к выборке | |
|
|
|
|
|
|
|
для: Valick
(09.06.2009 в 17:39)
| | меня этот способ интересует можно так сделать по строке ?
т.к. база уже создана и не хочется все переделывать, а переделывать огого...
если не получиться выводить так, то придется Вашим способом делать создавать дополнительную таблицу | |
|
|
|
|