PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
marioo
Отправлено: 14 Февраля, 2018 - 19:21:11
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Окт. 2014  


Помог: 0 раз(а)




Есть 2 таблицы

table1

id | name | chek
1 | Вася
2 |Петя
3 |Коля
4 |Саша

---------------
table2

id | name2
1 | Вася Пупкин
2 |Ольга Шученко
3 |Коля Нудеев
4 |Олег Чернов

Нужно в первой таблице table1 в колонки check проставить 1 если это имя есть в таблице table2 . Подскажите как это проще всего сделать
 
 Top
Sail
Отправлено: 15 Февраля, 2018 - 20:15:43
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




marioo, вариант:
CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE table1 JOIN table2 ON table2.name LIKE concat('%',table1.name,'%') SET table1.CHECK = '1';
 
 Top
LIME
Отправлено: 16 Февраля, 2018 - 20:21:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 10021
Дата рег-ции: Нояб. 2010  


Помог: 298 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. UPDATE table1 SET table1.CHECK = '1' WHERE EXISTS (SELECT 1 FROM table2 WHERE table2.name LIKE concat(table1.name, '%');

(Добавление)
чуть быстрее должно быть


-----
вау
я кажется понял жастЮзера!!!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB