Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

MySQL

365
20 октября 2004 года
MasterSID
230 / / 23.02.2003
У меня такой вопрос:
Имеется бд mysql с 2 таблицами:
1.users c полями user_id и name
2.info с полями user_id и info

Мне нужно составить запросы:
1. Вывести всех users у которых отсутствует запись в поле info
2. Вывести всех users, объединив их с info и где нет info подставить какое-то значение(либо NULL)
1.9K
20 октября 2004 года
SumroK
49 / / 18.09.2003
Цитата:
Originally posted by MasterSID
У меня такой вопрос:
Имеется бд mysql с 2 таблицами:
1.users c полями user_id и name
2.info с полями user_id и info

Мне нужно составить запросы:
1. Вывести всех users у которых отсутствует запись в поле info
2. Вывести всех users, объединив их с info и где нет info подставить какое-то значение(либо NULL)



1. SELECT * FROM info WHERE info=''
2. хз

365
20 октября 2004 года
MasterSID
230 / / 23.02.2003
Цитата:
Originally posted by SumroK


1. SELECT * FROM info WHERE info=''
2. хз


Нет, мне не из info все пустые записи нужны, а все пользователи из таблицы users, для которых не существует ни какой записи в таблице info

4
21 октября 2004 года
mike
3.7K / / 01.10.2002
Я честно говоря не силен в тонкостях MySql'ного SQL, но в других серверах есть NOT IN, например:

SELECT * FROM table1 t1, table2 t2 WHERE t2.id NOT IN t1.id

Но в MySql это у меня не заработало. Если записей не много я бы выбрал все user_id из info в ассоциативный массив, в потом сгенерировал запрос:

SELECT user_id FROM users WHERE user_id='1' AND user_id='2' ... AND user_id='N';

Для MySql, при определенных условиях, это самый быстрый вариант. Но длина запроса ограничена.
365
21 октября 2004 года
MasterSID
230 / / 23.02.2003
Спасибо, Майк!
365
21 октября 2004 года
MasterSID
230 / / 23.02.2003
В общем решение первой задачи получилось такое:
SELECT na_users.* FROM na_users left join na_status on na_users.user_id=na_status.user_id WHERE na_users.user_id NOT IN (na_status.user_id)

А как быть со вторым?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог