我的数据库表如下所示:
我正在尝试运行一个返回所有常见user_id的查询 - 例如field_id = 552 AND value = 'Savannah' AND field_id = 553 AND value = 'GA' AND field_id = 554 AND value = 'USA'
。 (所以在这种情况下,根据我的屏幕截图中显示的记录,结果只是'1')。
我一直在寻找联盟和工会,但我觉得我已经走下了一个兔子洞,无法找到回来的路。
这可能吗?
答案 0 :(得分:1)
这是使用conditional aggregation
的一个选项:
select user_id
from yourtable
group by user_id
having max(case when field_id = 552 then value end) = 'Savannah' and
max(case when field_id = 553 then value end) = 'GA' and
max(case when field_id = 554 then value end) = 'USA'