|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
Предисловие. У каждого пользователя может быть свой разный набор параметров - пользователь на сайте создает заявку для получения рассылки. Пользователь оставляет заявку с параметрами: мин и/или макс цена, мин и/или макс этаж, список типов, список районов и т.д. Поторм, когда в базу добавляются объявления с некими параметрами: цена, кол-во комнат, этаж, тип, район, нужно найти подходящих пользователей, чтобы отправить им оповещения. Есть таблица пользователей и вторая (детальная) с параметрами объектов. Суть в том, что параметры объектов - это не поля, а строки (см. снимок таблицы). Не могу сообразить, как правильно составить запрос. Firebird 3. детальная, поле Код: sql 1. 2. 3. 4. 5. 6. 7.
Всё это будет в хранимой процедуре. Заранее благодарен. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 12:38 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
X11Есть таблица пользователей и вторая (детальная) с параметрами объектов. Суть в том, что параметры объектов - это не поля, а строки (см. снимок таблицы). имеется ввиду, что это параметры заявок на объекты (объявления) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 12:39 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
X11Не могу сообразить, как правильно составить запрос.Если ты не можешь сообразить как по одному полю PTYPE элементарно связать две таблички и реализовать проверку диапазонов, то, скорее всего, ты не программист и это не твоё. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 12:59 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
X11, Шахматка нужна? Т.е. транспонирование таблицы? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 13:01 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
KreatorXXI, тоже так думаю ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 13:06 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
X11, ну ты так вопрос задал что я сначала ничего не понял. Транспонирование таблицы лучше на клиенте делать, есть специальные гриды. Запросами тоже можно, но это работает только для фиксированного количества полей ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 13:09 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
Есть два типа людей: одни способны вкурить EAV, другие делают из неё шахматку. Тебе нужен запрос класса Код: sql 1. 2. 3. 4. 5.
и решить как вычислять релевантность. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 13:13 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
X11, например, читаешь все параметры в переменные процедуры, затем: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 13:14 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
Симонов Денисну ты так вопрос задал что я сначала ничего не понял. Транспонирование таблицы лучше на клиенте делать, есть специальные гриды. X11Всё это будет в хранимой процедуре. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 13:20 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЕсть два типа людей: одни способны вкурить EAV, другие делают из неё шахматку. Тебе нужен запрос класса Код: sql 1. 2. 3. 4. 5.
и решить как вычислять релевантность. да, я как раз похожий запрос и сделал... но пока без "group by TTELEGRAMUSERS_ID having count(*) >= 3" но он не работает как надо... ещё раз перепроверю ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 13:22 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
ёёёёё X11, например, читаешь все параметры в переменные процедуры, затем: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Ой, ну и фигню я написал. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 13:25 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
Что-то не так? Что я забыл? Вот запрос без HAVING COUNT(*) >= 3 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
результат на картинке. А если добавить в запрос строку "HAVING COUNT(*) >= 3", то записей ноль ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 13:40 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
X11Что я забыл? Мозг включить. Бросай EAV, не заработает оно у тебя. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 13:48 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
Всё, получилось. Dimitry Sibiryakov, спасибо. Я понял идёю. вот запрос Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
и идея в том, что если 4 параметра, то и в HAVING COUNT должно быть 4, а если будет 6 параметров, и в HAVING COUNT должно быть тоже 6. Т.е. сколько параметров, столько в итоговой группе должно быть записей, не меньше. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 13:57 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
Можно и меньше при нестрогом поиске. Это от задачи зависит. Я не зря упомянул про релевантность. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 14:02 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
Я что-то не знаю, наверное. Есть 2 запроса: с параметрами и без Выполняю оба запроса в IBExpert. С параметрами Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
без параметров: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
в первом случае (с параметрами) - 1 запись в результате, а во втором случае - 2 записи. Само собой, что параметры заполняю теми же значениями, что и в запросе без параметров. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 15:36 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
X11, преобразование типов. Попробуй в первом запросе поставить строковые литералы ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 15:43 |
|
Помогите с запросом, где параметры - это не поля, а строки
|
|||
---|---|---|---|
#18+
Точно! Спасибо! забыл, что PVAL у меня - текстовое поле Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2019, 15:53 |
|
|
start [/forum/topic.php?fid=40&msg=39843451&tid=1560636]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 160ms |
0 / 0 |