У меня есть таблица, содержащая некоторые имена и связанный с ними идентификатор вместе со снимком:
snapshot, systemid, name[, some, other, columns]
Мне нужно идентифицировать все уникальные name
, которые systemid
имели во всех моментальных снимках, но только там, где произошло хотя бы одно изменение.
Например, с данными:
'DR1', 0, 'MOUSE_SPEED'
'DR1', 1, 'MOUSE_POS'
'DV8', 0, 'MOUSE_BUTTONS'
'DV8', 1, 'MOUSE_POS'
'DR6', 0, 'MOUSE_BUTTONS'
'DR6', 1, 'MOUSE_POS'
'PP2', 0, 'MOUSE_SPEED'
'PP2', 1, 'MOUSE_POS'
... Я хотел бы запрос, который будет возвращать (в любом порядке):
0, 'MOUSE_SPEED'
0, 'MOUSE_BUTTONS'
Кроме того, было бы полезно иметь инверсию - список systemid
с, который оставался стабильным в течение всех snapshot
с (то есть, когда name
никогда не менялся) .
Я использую PostgreSQL v8.4.2.
РЕДАКТИРОВАТЬ: Обновлено для отражения комментариев (извините за оригинальный не идеальный пост, я новичок здесь!) .