SQL UPDATE: различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 22: | Строка 22: | ||
UPDATE `mikbill`.`mod_cards_cards` SET `expired` = '2015-12-31' WHERE `mod_cards_cards`.`cards_id` =73216; | UPDATE `mikbill`.`mod_cards_cards` SET `expired` = '2015-12-31' WHERE `mod_cards_cards`.`cards_id` =73216; | ||
− | ==Найти пользователей у кого моб. номер из 10 символов,начинается с 9 => добавить 7 в начале== | + | ==Найти пользователей у кого моб. номер из 10 символов, начинается с 9 => добавить 7 в начале== |
UPDATE `users` SET `users`.`sms_tel` = CONCAT('7',`users`.`sms_tel`) WHERE LENGTH( `users`.`sms_tel` )=10 AND `users`.`sms_tel` LIKE '9%' ORDER BY `users`.`sms_tel` ASC | UPDATE `users` SET `users`.`sms_tel` = CONCAT('7',`users`.`sms_tel`) WHERE LENGTH( `users`.`sms_tel` )=10 AND `users`.`sms_tel` LIKE '9%' ORDER BY `users`.`sms_tel` ASC | ||
+ | |||
+ | ===Перевод абонентов в субпровайдеры по нас. пункту === | ||
+ | '''Вариант 1''' | ||
+ | |||
+ | ''''Сначала удалим из других субпровайдеров на всякий случай:'''' | ||
+ | |||
+ | DELETE FROM `usersgroups_users` WHERE `usersgroups_users`.`uid` IN (SELECT `usersall`.`uid` FROM `usersall` LEFT JOIN `lanes_houses` ON `usersall`.`houseid` = `lanes_houses`.`houseid` | ||
+ | LEFT JOIN `lanes` ON `lanes_houses`.`laneid` = `lanes`.`laneid` WHERE `lanes`.`settlementid` = 1) | ||
+ | |||
+ | ''''Затем только добавляем:'''' | ||
+ | |||
+ | INSERT INTO `mikbill`.`usersgroups_users` (`uid`, `usersgroupid`)(SELECT `usersall`.`uid` , 3 FROM `usersall` LEFT JOIN `lanes_houses` ON `usersall`.`houseid` = `lanes_houses`.`houseid` | ||
+ | LEFT JOIN `lanes` ON `lanes_houses`.`laneid` = `lanes`.`laneid` WHERE `lanes`.`settlementid` = 1); | ||
+ | |||
+ | ''''где:'''' | ||
+ | |||
+ | ''WHERE `lanes`.`settlementid` = 1 - id населенного пункта (1)'' | ||
+ | |||
+ | ''SELECT `usersall`.`uid` , 3 - id субпровайдера (3)'' |
Версия 10:44, 5 июля 2019
Содержание
Замена дилера по признаку населённого пункта!
В данном примере: settlementid = 1 (ID Нас. Пункта), usersgroupid = 12 (ID Дилера)
UPDATE `usersgroups_users` SET `usersgroups_users`.`usersgroupid` = 12 WHERE `usersgroups_users`.`uid` IN (SELECT `usersall`.`uid` FROM `usersall` LEFT JOIN `lanes_houses` ON `usersall`.`houseid` = `lanes_houses`.`houseid` LEFT JOIN `lanes` ON `lanes_houses`.`laneid` = `lanes`.`laneid` WHERE `lanes`.`settlementid` = 1);
Подливание срока действия скретч карты, по признаку серии карт!
SET expired = новый срок действия, status = a (статус активная).
UPDATE `mikbill`.`mod_cards_cards` SET `expired` = '2020-12-31' WHERE `series` LIKE '1045' AND `expired` = '2018-12-31' AND `status` = 'a';
Продевание срока действия единичной карты
mod_cards_cards.cards_id = ID карты
UPDATE `mikbill`.`mod_cards_cards` SET `expired` = '2015-12-31' WHERE `mod_cards_cards`.`cards_id` =73216;
Найти пользователей у кого моб. номер из 10 символов, начинается с 9 => добавить 7 в начале
UPDATE `users` SET `users`.`sms_tel` = CONCAT('7',`users`.`sms_tel`) WHERE LENGTH( `users`.`sms_tel` )=10 AND `users`.`sms_tel` LIKE '9%' ORDER BY `users`.`sms_tel` ASC
Перевод абонентов в субпровайдеры по нас. пункту
Вариант 1
'Сначала удалим из других субпровайдеров на всякий случай:'
DELETE FROM `usersgroups_users` WHERE `usersgroups_users`.`uid` IN (SELECT `usersall`.`uid` FROM `usersall` LEFT JOIN `lanes_houses` ON `usersall`.`houseid` = `lanes_houses`.`houseid` LEFT JOIN `lanes` ON `lanes_houses`.`laneid` = `lanes`.`laneid` WHERE `lanes`.`settlementid` = 1)
'Затем только добавляем:'
INSERT INTO `mikbill`.`usersgroups_users` (`uid`, `usersgroupid`)(SELECT `usersall`.`uid` , 3 FROM `usersall` LEFT JOIN `lanes_houses` ON `usersall`.`houseid` = `lanes_houses`.`houseid` LEFT JOIN `lanes` ON `lanes_houses`.`laneid` = `lanes`.`laneid` WHERE `lanes`.`settlementid` = 1);
'где:'
WHERE `lanes`.`settlementid` = 1 - id населенного пункта (1)
SELECT `usersall`.`uid` , 3 - id субпровайдера (3)