SQL запрос - многократное значение - PullRequest
3 голосов
/ 30 ноября 2011

У меня есть следующая таблица:

userid    title         content
1         gender        male
1         location      NY    
2         gender        female
2         location      SF
3         gender        female
3         location      NY

Я пытаюсь получить только идентификатор пользователя с пол = "мужчина" и местоположение = "Нью-Йорк"

если я попытаюсь:

select userid
from table
where content="male"
   AND location="NY";

Он вернет ноль.Есть идеи, как это сделать?

1 Ответ

1 голос
/ 30 ноября 2011
SELECT t.userId
FROM yourTable AS t
INNER JOIN yourTable AS t2 ON t.userId = t2.userId
   AND t.title = 'gender'
   AND t.content = 'male'
   AND t2.title = 'location'
   AND t2.content = 'NY'

Я бы также рассмотрел вопрос о нормализации ваших данных. Это сделало бы подобные запросы намного проще (и, вероятно, быстрее) в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...