powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Хитрый запрос. Как сделать правильно?
7 сообщений из 7, страница 1 из 1
Хитрый запрос. Как сделать правильно?
    #32613799
nectis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем,
тут такая заковыка:
есть две таблицы с полями

список звонков = номер | название региона
список цен = префикс | название региона | цена

где номер выглядит как префикс + остальные цифры

нужно правильно составить выборку с таким выражением, что-то вроде

"c.number LIKE p.prefix%" (c - первая таблица, p - вторая)

Но тут что-то с % не получается - psql ругается...

Подскажите плиз новичку!
...
Рейтинг: 0 / 0
Хитрый запрос. Как сделать правильно?
    #32613942
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
матом штоль ругается?
чего говорит?
...
Рейтинг: 0 / 0
Хитрый запрос. Как сделать правильно?
    #32614031
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c.number LIKE p.prefix||'%'

Если объем данных в таблицах большой, не ждите хорошей скорости от такого запроса. Лучше всего наверное исправить структуру базы: список звонков = префикс | номер; список цен = префикс | название региона | цена.
...
Рейтинг: 0 / 0
Хитрый запрос. Как сделать правильно?
    #32614834
NECTIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LeXa NalBatc.number LIKE p.prefix||'%'

Если объем данных в таблицах большой, не ждите хорошей скорости от такого запроса. Лучше всего наверное исправить структуру базы: список звонков = префикс | номер; список цен = префикс | название региона | цена.

Попробовал, спасибо...

Вариант не тот:
у меня там есть похожие префиксы - он выдаёт их все...
например номер на новосибирск 738321111111 получаю три записи

россия 7
москва 7095
новосибирск 73832

так как они начинаются на 7 тоже...
...
Рейтинг: 0 / 0
Хитрый запрос. Как сделать правильно?
    #32615184
wbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prefix || '________'
_ -> по количеству цифр после префикса ,вообще про лике в доках почитай
...
Рейтинг: 0 / 0
Хитрый запрос. Как сделать правильно?
    #32615274
NECTIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wbearprefix || '________'
_ -> по количеству цифр после префикса ,вообще про лике в доках почитай

Это наверное не то решение,
мне нужно чтобы префикс был точным:
если номер 73832111111 и в базе префикс 73832 присутствует то должно быть точное соответствие, а не подбор всех похожих префиксов.

А есть возможность сделать что-то похожее типа

'с.номер = р.префикс||%'

?
...
Рейтинг: 0 / 0
Хитрый запрос. Как сделать правильно?
    #32615291
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторроссия 7
москва 7095
новосибирск 73832

Вроде бы '7' - это префикс префикса. :) И его не должно быть в таблице 'список цен'.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Хитрый запрос. Как сделать правильно?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]