Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Выборка пользователей у которых нет объявлений

Сообщения:  [1-2] 

 
 автор: cheops   (18.08.2011 в 11:46)   письмо автору
 
   для: Дмитрий Смаль   (18.08.2011 в 11:20)
 

Как вариант можно использовать следующий запрос
SELECT u.* 
FROM
  users u
LEFT JOIN
  adverts a
ON u.id = a.user
WHERE a.id IS NULL
GROUP BY u.id
Однако, он, конечно, будет эффективнее, но вряд очень сильно.

  Ответить  
 
 автор: Дмитрий Смаль   (18.08.2011 в 11:20)   письмо автору
 
 

Здравствуйте
имеем
таблица users
- id
- name
таблица adverts
- id
- user (ИД пользователя из предыдущей таблицы)
- text

если нужно выбрать пользователей у которых есть объявления то я делаю
SELECT u.* FROM users u,adverts s WHERE u.id=a.user GROUP BY u.id

как выбрать пользователей у которых нет объявлений?
я делаю так
SELECT u.* FROM users u WHERE u.id NOT IN (SELECT a.user FROM adverts a)

может кто подскажет как сделать запрос более простым без вложенного запроса чтобы он делал меньше нагрузки на БД?

  Ответить  

Сообщения:  [1-2] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования