Re: Need Help
От | Bruno Wolff III |
---|---|
Тема | Re: Need Help |
Дата | |
Msg-id | 20031114051153.GB29956@wolff.to обсуждение исходный текст |
Ответ на | Need Help (Abdul Wahab Dahalan <wahab@mimos.my>) |
Список | pgsql-sql |
On Fri, Nov 14, 2003 at 09:04:47 +0800, Abdul Wahab Dahalan <wahab@mimos.my> wrote: > Hi! > > If I've a table like this > > kk kj pngk vote > 01 02 a 12 > 01 02 b 10 > 01 03 c 5 > > and I want to have a query so that it give me a result as below. > > The condition is for each record with the same kk and kj > but difference pngk will be give a mark *; > [In this example for record 1 and record 2 we have same kk=01 and kj=02 > but difference pngk a and b so we give * for the mark] > > > kk kj pngk vote mark > 01 02 a 12 * > 01 02 b 10 * > 01 03 c 5 > > How should I write the query? You could do something like: select a.kk, a.kj, a.pngk, a.vote, b.star from table a left join (select '*' star, kk, kj from table group by kk, kj havingcount(*) > 1) b on (a.kk = b.kk and a.kj = b.kj); I didn't test this so there might be a syntax problem, but it should make it clear how to do what you want.
В списке pgsql-sql по дате отправления: