powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сравнение номеров телефона
16 сообщений из 41, страница 2 из 2
Сравнение номеров телефона
    #39705587
hatter11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
извините, нашла ошибку
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39705588
hatter11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina, низкий Вам поклон! Помогли, спасибо огромное!
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 SELECT id,
  SUM(CASE WHEN disposition ="ANSWERED" THEN 1 ELSE 0 END) as "отвеченных",
  SUM(CASE when disposition ="NO ANSWER" THEN 1 ELSE 0 END) AS "нет ответа",
  SUM(CASE WHEN disposition ="FAILED" THEN 1 ELSE 0 END) AS "сбой",
  SUM(CASE WHEN disposition ="BUSY" THEN 1 ELSE 0 END) AS "занят", phone
  FROM( 

 SELECT DISTINCT id,phone,disposition,AcctId FROM users_phones_temp upt JOIN calls_per_month_temp cpmt ON (CASE WHEN cpmt.dst LIKE '8938%'
     THEN SUBSTRING(cpmt.dst FROM 3) ELSE cpmt.dst END)=upt.phone
    )x
 GROUP BY id
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39705592
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hatter11вот следующая лапшаРусским вроде по белому пишу: алиас КАЖДОМУ полю... и что мы видим? все поля, кроме тех, что в секции ON - голенькие...

Кстати, весьма странно, что запрос в таком виде вообще выполняется, хотя по уму сервер должен был бы нецензурно высказаться в смысле Error 1052 Column '%s' in %s is ambiguous...
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39705598
hatter11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akinaи что мы видим? все поля, кроме тех, что в секции ON - голенькие...

Кстати, весьма странно, что запрос в таком виде вообще выполняется, хотя по уму сервер должен был бы нецензурно высказаться в смысле Error 1052 Column '%s' in %s is ambiguous... простите, не ошиблась и не тот код вставила, сейчас всё работает абсолютно верно!
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39714422
hatter11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,уважаемые специалисты! в продолжении начатой темы, есть ли еще какие-нибудь ещё решения для учета номеров среди которых есть те, к которым добавлены слева цифры 89?
конструкция предложенная ранее:
Код: plsql
1.
2.
3.
4.
Select GROUP_CONCAT(p.number)
FROM phones p LEFT JOIN cdr AS c
ON (CASE WHEN c.dst LIKE '8938%'
     THEN SUBSTRING(c.dst FROM 3) ELSE c.dst END)=p.number


выполняется, но не работает, то есть не учитывает номера начинающиеся с 89...
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39714431
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hatter11,

Предложенный ранее вариант с вычитанием категорически не подходит?
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39714447
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hatter11не учитываетЗапрос ничего не учитывает - это не нормировщик на заводе... Запрос возвращает набор записей в соответствии с заложенной в его текст логикой отбора.
Выражайтесь яснее...
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39714504
hatter11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akina Запрос возвращает набор записей в соответствии с заложенной в его текст логикой отбора.
Выражайтесь яснее...Буду стараться, спасибо.
Опять я создала ложную тревогу, запрос с вашей,Akina, помощью возвращает то что надо...была база не обновлена из-за этого был неожиданный результат
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39714615
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hatter11Здравствуйте, есть такой запрос
Код: plsql
1.
SELECT id,phone,disposition,AcctId FROM users_phones_temp upt JOIN calls_per_month_temp cpmt ON upt.phone=cpmt.dst



мне необходимо к этому запросу добавить условие, что один и тот же номер(phone) может начинаться цифрами 8938 или 38, например: 89381000000000 или 381000000000 -это тот же самый номер.
Подскажите пожалуйста как это сделать. Я сейчас не могу проверить в программе, поэтому придумала вот что:
AND phone like '8938%'=phone like'38%'
но сомневаюсь, что это правильно, поэтому прошу подправить меня

телефоны в БД хранятся в 3х полях:
cn int -- код страны
code smallint
num int

индекс только по num, поиск по num + code + cn
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39714704
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухтелефоны в БД хранятся в 3х полях:Зависит от задачи.
Задача ТС не кажется мне той задачей, где это актуально.
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39714724
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что "это"?
обычный удобный способ хранения телефонов
и на задачу ещё раз посмотри, повнимательней
авторможет начинаться цифрами 8938 или 38
авторAND phone like '8938%'=phone like'38%'
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39715223
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухчто "это"?
обычный удобный способ хранения телефонов
и на задачу ещё раз посмотри, повнимательней
авторможет начинаться цифрами 8938 или 38
авторAND phone like '8938%'=phone like'38%'При таком раскладе начальные цифры 89 не относятся ни к одному из этих полей.
Если их сохранять, то в какое поле?
Если их очищать при записи, то единое поле все равно удобнее.
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39715265
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftЕсли их сохранять, то в какое поле?
cn
как это не относятся, если это код страны?
Если их очищать при записи
если юзер шлёт с формы страну, зачем их очищать?
у нас конкретная ситуация - телефоны со странами, к чему эти фантазии?
единое поле все равно удобнее.
в едином поле будет сначала код, потом номер и это индекс на 10 цифр, вместо 7.
Поиск по code вернёт 10000+ num, в которых снова искать, а поиск по num всего 1-2 code.
в каком месте тут "удобнее"?
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39715278
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полудухкак это не относятся, если это код страны?Нет, это префикс выхода на городскую линию офисной АТС, частью номера не является.
И такого кода страны не существует.
А вот следующие цифры 381 - код Сербии.
полудухв едином поле будет сначала код, потом номер и это индекс на 10 цифр, вместо 7.Это индекс на одно поле, а не на три.
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39715582
Фотография полудух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftполудухкак это не относятся, если это код страны?Нет, это префикс выхода на городскую линию офисной АТС, частью номера не является.
И такого кода страны не существует.
А вот следующие цифры 381 - код Сербии.
полудухв едином поле будет сначала код, потом номер и это индекс на 10 цифр, вместо 7.Это индекс на одно поле, а не на три.
префикс никто не пишет в БД
речь про КОД СТРАНЫ.

где ты там 3 индекса увидел?
полудух индекс только по num , поиск по num + code + cn
...
Рейтинг: 0 / 0
Сравнение номеров телефона
    #39717391
Набрызг-Бетон
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hatter11Добрый день,уважаемые специалисты! в продолжении начатой темы, есть ли еще какие-нибудь ещё решения для учета номеров среди которых есть те, к которым добавлены слева цифры 89?
..
ну например приказ минсвязи регламентирующий передачу этих самых номеров. который не всегда исполняется.

может все-таки при вставке будете приводить к единому виду?
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Сравнение номеров телефона
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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