Как я могу перечислить iduser из этой таблицы, где gender = man и int = woman?
Table usermeta ---------------------- id iduser ab 12 204 age 19 7 203 age 35 6 200 age 24 3 201 age 34 5 201 gender man 2 200 gender woman 8 203 gender man 9 204 gender man 4 201 int woman 10 204 int male 11 203 int woman 1 200 int male
Ответ должен быть:
iduser
204
У меня есть другой вопрос, что, если я хочу фильтровать возраст тоже? Я пытаюсь разрешить это, но я не могу … Где в магазине я поставил «возраст = 19»? Я пробую это … a. a
= 'age' AND a. b
= '19', но не работает … спасибо.
Самообслуживание должно работать. Сокетный (непроверенный):
SELECT a.`iduser` FROM `table` a JOIN `table` b ON b.`iduser` = a.`iduser` WHERE a.`a`='gender' AND a.`b`='man' AND b.`a`='int' AND b.`b`='woman'
Но вы должны рассмотреть возможность оптимизации структуры db, так как это кажется немного голодным.
Хлоп!
Во всяком случае, это не то, как должна выглядеть база данных.
SELECT DISTINCT a.iduser FROM usermeta t1 INNER JOIN usermeta t2 ON (t1.iduser = t2.iduser) WHERE t1.a = 'gender' AND t1.b = 'man' AND t2.a = 'int' AND t2.b = 'woman'