SQL запрос в записи - PullRequest
       17

SQL запрос в записи

0 голосов
/ 25 июня 2018

У меня проблема с записью, используя следующий запрос

SELECT user_id FROM temp 
  WHERE 
    (value = 1 AND field_id = 11) AND 
    value = 1 AND field_id = 12

Вот таблица. Table

Я должен получить запись 101 user_id.

Есть идеи по этому поводу?

Ответы [ 3 ]

0 голосов
/ 25 июня 2018

попробуйте этот sql выбрать DISTINCT user_id из temp, где value = 1 и (field_id = 12 или field_id = 11)

0 голосов
/ 25 июня 2018

Вы также можете использовать where предложение:

select user_id
from table t
where value = 1 and field_id in (11, 12)
group by user_id
having count(distinct field_id) = 2;
0 голосов
/ 25 июня 2018

Вам нужно агрегировать по пользователю:

SELECT user_id
FROM temp
GROUP BY user_id
HAVING
    SUM(CASE WHEN value = 1 AND field_id = 11 THEN 1 ELSE 0 END) > 0 AND
    SUM(CASE WHEN value = 1 AND field_id = 12 THEN 1 ELSE 0 END) > 0;
...