2013-05-16 3 views
0

Как я могу сказать в MySQL, когда я хочу выбрать всех пользователей и пользователей, которые находятся в сети (1), за исключением одного пользователя с идентификатором 4? и я хочу, чтобы имя пользователя id = 4 не печаталосьMySQL за исключением попытки получить всех пользователей, которые находятся в сети, кроме одного

Я пробовал НЕ ВХОД, но я предполагаю, что это не работает для меня.

SELECT username,typing FROM members WHERE status = 1 NOT IN (SELECT typing FROM members WHERE id =4) 

http://img266.imageshack.us/img266/2313/typing.png

нажмите на изображение для получения дополнительной информации

+0

Можете ли вы предоставить образец данных и ожидаемых результатов? Ваше описание нечеткое. –

+0

обновленный проверить изображение –

+0

, когда вы говорите «онлайн (1)« вы имеете в виду »онлайн (то есть статус = 1)»? Просто убедитесь, что изображение не имеет столбца состояния – gillyspy

ответ

0

Является ли это то, что вы хотите?

SELECT username, 
     (case when id <> 4 then typing end) as typing 
FROM members 
WHERE status = 1 or id = 4 

Основываясь на изображении, я думаю, вы просто хотите:

SELECT username, typing 
FROM members 
WHERE status = 1 and id <> 4 
+0

nope извините, я хочу выбрать всех пользователей и ввести текст, который находится в сети, который является статусом = 1, и за исключением ввода, где id = 4 –

+0

Говорить то же, что и в вашем вопросе, не делает это яснее. Можете ли вы показать некоторые данные образца и желаемый результат? – Barmar

0

Я хотел бы использовать объединение, как это:

SELECT username, typing FROM members members LEFT OUTER JOIN typing typing WHERE members.status = 1 AND typing.id <> 4