Мне нужно сравнить два разных столбца в инструкции mysql WHERE
. В представлении, которое я создал, у меня есть столбец с именем E_ID
и один под названием event
. Мне нужно, чтобы SELECT
с вида, где E_ID
! = $E_ID
, когда event
= $event
.Сравнение нескольких столбцов в mySQL
Так что если $event
= статус и $E_ID
= 1 утверждение было бы выбрать что-нибудь Thats не получили то же событие и те же E_ID
, но он может возвращать данные, которые имеют те же E_ID
и другое событие.
Хорошо, давайте примеры. Допустим, у меня это как две переменные:
$E_ID = '1';
$event = 'status';
Хорошо, и теперь в таблице это;
E_ID event
1 status
2 status
3 status
1 gig
3 track
5 gig
Как вы можете, первая строка содержит набор данных в переменных, поэтому мы не хотим возвращать это. Но проблема заключается в E_ID
, поскольку они могут быть одинаковыми, если событие отличается. Поэтому я хочу вернуть все, что не имеет E_ID
из 1
, когда event
является status
. Однако он может возвращать данные одного и того же E_ID и того же события.
Что должно быть возвращено, так это;
E_ID event
2 status
3 status
1 gig
3 track
5 gig
Как вы можете видеть, все возвращается, но строка, в которой есть данные, заданные в переменных.
Вот мой вопрос до сих пор.
SELECT * FROM stream_view WHERE E_ID != '$E_ID'
Не совсем уверен, с чего начать так изо всех сил, чтобы понять это сам
пожалуйста, вы можете сделать sqlfiddle из ваших таблицы? www.sqlfiddle.com – BeNdErR
Вы хотите выбрать, что есть! = $ E_ID и = $ статус? Я вас правильно понял? – Fabio
@fabio no Я хочу выбрать то, что не является '$ E_ID' WHEN event =' $ event'. Итак, если есть несколько событий, таких как gig, track и status, они возвратят данные, которые не имеют одного E_ID для строк, имеющих одно и то же событие. –