Я пытаюсь создать запрос - результат должен быть получен из двух таблиц:
values
таблица:
eventid | elementid | value
-------------------------------
10 | 1 | 1234
11 | 1 | 1234
11 | 2 | True
Таким образом, таблица values
может иметь несколькозначения для того же elementid
.
events
таблица:
eventid | eventuid
-------------------
10 | abcdef
11 | ghijkg
Моя цель - создать запрос, отображающий
value1 | value2 | eventuid
-----------------------------
True | 1234 | abcdef
True | 5678 | ghijkg
- Столбец A: значение для
element1
- Столбец B: значение для
element2
- Столбец C: идентификатор события
, но только если значение для elementid=1
является уникальным , т.е. нет eventid
s с таким же значением для того же elementid=1
.
Моя попытка была сначала создать представление:
create view unique_event as
select distinct e.eventuid, count(v.value)
from events e
join values v on e.eventid = v.eventid
where v.elementid = 1
group by e.eventuid
having count(v.value) = 1;
Похоже, это работает только для того, чтобы вернуть отдельные eventuid
с - и затем прочитать из этого представления, но я не могу "повернуть" значения:
select v.value as value1, e.eventuid
from events e
join value v on v.eventid = e.eventid
where e.eventuid in (select eventuid from unique_event)
and v.elementid in (1, 2)
group by e.eventuid, v.value;