Mysql запрос ГДЕ с AND - PullRequest
       3

Mysql запрос ГДЕ с AND

0 голосов
/ 15 июня 2011

у меня есть стол

id|customer_id|comment
1   34                       good
2   23                       bad
3   34                      regular
4   76                       longterm
5   34                       bad
6   23                      good

Мы можем видеть, что один customer_id имеет другой комментарий (например, 34 имеет хороший обычный плохой) Я пытаюсь извлечь записи из таблицы выше, где комментарий «хороший, а также плохой», и группировать по customer_id, поэтому в результате я должен увидеть записи id => 1, 5, 2, 6

Может кто-нибудь, пожалуйста, помогите мне написать это, где пункт.

привет

1 Ответ

3 голосов
/ 15 июня 2011

Чтобы одна строка данных ссылалась на другую строку, вам необходимо объединение.В этом случае вы захотите присоединить комментарий к самому себе:

select distinct a.customer_id 
from comments a 
join comments b on a.customer_id = b.customer_id and a.id < b.id 
where a.comment = 'good'
and b.comment = 'bad'

Я выбрал синтаксис a.id < b.id, чтобы избежать одинакового объединения в обоих направлениях, что приведет к дублированию работы.Указав отличное, вы увидите каждого клиента только один раз.

...