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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Как выбрать пользователей зарегистрировавшихся но не оставивших ни одного сообщения на форуме?
 
 автор: durable   (18.02.2010 в 16:19)   письмо автору
 
 

Не могу понять как составить запрос для выборки пользователей зарегистрировавшихся но не оставивших ни одного сообщения на форуме?
Например для самого простого случая:
2 таблицы
1) users
user_id
user_name
2) posts
post_id
post_user
post_text

  Ответить  
 
 автор: Рома   (18.02.2010 в 21:17)   письмо автору
 
   для: durable   (18.02.2010 в 16:19)
 

можно вопрос, а зачем вам это? что вам даст этот список? нахер нужна инфа о таких пользователях?

  Ответить  
 
 автор: GeorgeIV   (19.02.2010 в 10:21)   письмо автору
 
   для: Рома   (18.02.2010 в 21:17)
 

например удалить после определенного строка бездействия...

Таблицы как связаны?

  Ответить  
 
 автор: vadimka   (19.02.2010 в 11:05)   письмо автору
 
   для: GeorgeIV   (19.02.2010 в 10:21)
 

не тестил, но может будет работать?

SELECT * FROM users as u LEFT JOIN posts as p ON u.user_id =p.user_id AND p.user_id = null

  Ответить  
 
 автор: Trianon   (19.02.2010 в 11:19)   письмо автору
 
   для: vadimka   (19.02.2010 в 11:05)
 

>... AND p.user_id = null

В этом фрагменте три ошибки.
можт лучше потестите, чем писать явную чушь?

  Ответить  
 
 автор: durable   (19.02.2010 в 11:34)   письмо автору
 
   для: Trianon   (19.02.2010 в 11:19)
 

Неужели средствами php делать?

  Ответить  
 
 автор: Trianon   (19.02.2010 в 11:35)   письмо автору
 
   для: durable   (19.02.2010 в 11:34)
 

Да нет, почему же.
Простой запрос на поиск строк, отсутствующих в другой таблице.

  Ответить  
 
 автор: vadimka   (19.02.2010 в 11:37)   письмо автору
 
   для: Trianon   (19.02.2010 в 11:19)
 


SELECT * FROM users as u LEFT JOIN posts as p ON u.user_id = p.post_user AND p.post_user = ''

?

  Ответить  
 
 автор: Trianon   (19.02.2010 в 11:38)   письмо автору
 
   для: vadimka   (19.02.2010 в 11:37)
 

Вы так и будете гадать?

Я тогда за проверку счетчик включу.

  Ответить  
 
 автор: vadimka   (19.02.2010 в 12:16)   письмо автору
 
   для: Trianon   (19.02.2010 в 11:38)
 


SELECT * FROM users  WHERE user_id NOT IN (SELECT post_user FROM post) 

  Ответить  
 
 автор: Trianon   (19.02.2010 в 12:35)   письмо автору
 
   для: vadimka   (19.02.2010 в 12:16)
 

в принципе - пойдет. Но это другой - сложный запрос.
Имеет смысл исправить ошибки в простом.

  Ответить  
 
 автор: vadimka   (19.02.2010 в 14:06)   письмо автору
 
   для: Trianon   (19.02.2010 в 12:35)
 


SELECT * FROM users as u LEFT JOIN posts as p ON u.user_id != p.post_user AND p.post_user not null

хотя может AND вообще не нужен?

  Ответить  
 
 автор: Trianon   (19.02.2010 в 15:27)   письмо автору
 
   для: vadimka   (19.02.2010 в 14:06)
 

Скажите, пожалуйста, какими словами нужно объяснить, что Вам запросы (перед отправкой в форум) нужно проверять в (PhpMyAdmin либо аналогичном клиенте)?
Еще один запрос, не проходящий по синтаксису, и я просто перестану отвечать на Ваши реплики.

  Ответить  
 
 автор: vadimka   (19.02.2010 в 17:16)   письмо автору
 
   для: Trianon   (19.02.2010 в 15:27)
 

Прошу прошения за неаккуратность

SELECT u.user_name as n FROM users as u  LEFT JOIN posts as p ON u.user_id = p.post_user WHERE p.post_user is null

протестировал

  Ответить  
 
 автор: Trianon   (19.02.2010 в 17:21)   письмо автору
 
   для: vadimka   (19.02.2010 в 17:16)
 

вот это правильный ответ на вопрос этой темы.

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

  Ответить  
Rambler's Top100
вверх

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