Цитата(Хоббит @ 26.1.2012, 09:28 ) | То есть для каждого id должно быть 2 колонки v0 - если у него есть значение с flag = 0 и v1 если flag = 1. |
Код | select id ,min(case when flag = 0 then value end) v0 ,min(case when flag = 1 then value end) v1 from t group by id
|
Добавлено через 7 минут и 28 секунд
Цитата(Хоббит @ 26.1.2012, 09:28 ) | Я понимаю что тут полное объединение таблицы с собой при определенном условие, но никак его не напишу. |
можно и full join'ом
Код | select coalesce(t0.id,t1.id) id ,t0.value v0 ,t1.value v1 from (select * ftom t where flag = 0) t0 full join (select * from t where flag = 1) t1 on t0.id = t1.id
|
в этом случае для id = 3 будет возвращено 4 записи с разными комбинациями v0,v1 |