2012-01-12 2 views
-2

Я пытаюсь выбрать случайные идентификаторы сообщений из нескольких таблиц, но при условии, что пользователь еще не просмотрел сообщение раньше. Я собрал все идентификаторы сообщения, у которых есть представление в массиве, и я надеялся использовать это, чтобы исключить случайную запись.Попытка использовать 'not equal to' (реляционный оператор) в MySQL

Мое мышление привело меня к подобному запросу, но это явно неправильно, потому что идентификатор используется дважды.

(SELECT id FROM table1) 
UNION (SELECT id FROM table2) 
WHERE id != 423812240250 
ORDER BY rand() 
LIMIT 1 
+0

Просьба уточнить на _ «Мое мышление привело меня на запрос, как это, но это, очевидно, неправильно, потому что идентификатор используется дважды.» _ – Treffynnon

+0

Неясно что вы пытаетесь сделать и что делает оператор! =. –

+0

, если вы хотите выбрать случайную строку таблицы, посмотрите следующее сообщение: [http://stackoverflow.com/questions/19412/...](http://stackoverflow.com/questions/19412/ how-to-request-a-random-row-in-sql) –

ответ

0

Использование <> для этого:

(SELECT id FROM table1) 
UNION (SELECT id FROM table2) 
WHERE id <> 423812240250 
ORDER BY rand() 
LIMIT 1 
+0

! = И <> те же, посмотрите в руководстве http://dev.mysql.com/doc/refman/5.0/ru/comparison-operators.html –

+0

да. '<>' не работает. Такая же ошибка. – Tiny

+0

Tiny, вы должны переписать свой вопрос, чтобы люди знали, что вы хотите –

Смежные вопросы