- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть две таблици table1 и table2 в них одиноковое поле name
надо из таблици table1 выбрать все значения name, которых нет в table2 и которые в в table1 повторяются более одного раза.
SELECT name
FROM table1
WHERE name NOT IN (SELECT distinct name FROM table2)
GROUP BY name
HAVING count(*)>1
а можно как-то проще? такой вариант сыльно базу грузит
SELECT *
FROM table1 LEFT OUTER JOIN table2 ON table1.name=table2.name
WHERE table2.name IS NULL
а можно как-то проще? такой вариант сыльно базу грузит
Вряд ли...
Попробуйте из вложенного селекта distinct убрать - возможно, будет побыстрее.
foxyrus, в вашем варианте нету "и которые в в table1 повторяются более одного раза"...
Кстати, индекс по name есть? Если нет, сделайте обязательно, поможет кардинально.
А такой синтаксис возмет MySQL?
SELECT name
FROM table1
GROUP BY name
HAVING count(*)>1 and name NOT IN (SELECT name FROM table2)
или такой?
SELECT name
FROM
(SELECT distinct name
FROM table1
GROUP BY name
HAVING count(*)>1
) t
WHERE name NOT IN (SELECT name FROM table2)
И, как правильно сказали, если нет индекса по name в table2, то сделать его.