Создание таблицы по макету с выборкой - MySQL

Узнай цену своей работы

Формулировка задачи:

Есть таблица phones. Нужно создать таблицу otherPhones с такими же полями, но перенести надо не все данные, а за условиями: - фамилии начинаются на "ко" - в телефонах есть число 77 - сума цифр номера телефона делится на 13 Структуру таблицы прикрепил в виде скриншота. Так как у меня нет поля Фамилия, а есть только Abonent(тоесть ПИБ), выбрать оттуда фамилию могу таким образом:
WHERE SUBSTRING(Abonent, 1, INSTR(Abonent, ' ')-1) LIKE 'КО%'
Одно условие есть. Чтобы проверить есть ли в телефоне 77:
WHERE Phone LIKE '%77%'
Третье возможно так, но это неуниверсально и очень длинно както:
WHERE (
               CAST(SUBSTRING(Phone,1,1))+
               CAST(SUBSTRING(Phone,2,1))+
               CAST(SUBSTRING(Phone,3,1))+
               CAST(SUBSTRING(Phone,4,1))+
               CAST(SUBSTRING(Phone,5,1))+
               CAST(SUBSTRING(Phone,6,1))     ) / 13 = 0
Но как его скинуть все в один запрос с собданием таблицы и перемещением по условием, я не знаю. Помогите пожалуйста

Решение задачи: «Создание таблицы по макету с выборкой»

textual
Листинг программы
CREATE TABLE otherPhones (SELECT * FROM phones WHERE (SUBSTRING(Abonent, 1, INSTR(Abonent, ' ')-1) LIKE 'КО%')
 AND (Phone LIKE '%77%') AND ((
               CAST(SUBSTRING(Phone,1,1))+
               CAST(SUBSTRING(Phone,2,1))+
               CAST(SUBSTRING(Phone,3,1))+
               CAST(SUBSTRING(Phone,4,1))+
               CAST(SUBSTRING(Phone,5,1))+
               CAST(SUBSTRING(Phone,6,1))     ) / 13 = 0));

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.667 из 5