joining one record according to max value
От | George Francis |
---|---|
Тема | joining one record according to max value |
Дата | |
Msg-id | AANLkTik6-BWRrRjmSCym3y4tmYkg+QsuqS-dxBti9Cqr@mail.gmail.com обсуждение исходный текст |
Список | pgsql-sql |
<p class="p1">The following sql is intended to produce a list of all unique SOURCEs, along with the corresponding <a href="http://LEVEL.NAME">LEVEL.NAME</a>for LEVEL with highest SCORE value via SOURCELEVEL.<p class="p1">I'd like to knowwhy it doesn't return a SCORE value for SOURCE with id 3, despite there being a SOURCELEVEL entry for it.<p class="p1">Manythanks,<p class="p2"><br /><p class="p3">drop table if exists source;<p class="p3">drop table if exists sourcelevel;<pclass="p3">drop table if exists level;<p class="p4"><br /><p class="p3">create table source ( source_id int);<p class="p3">create table sourcelevel ( source_id int, level_id int);<p class="p3">create table level ( level_id int,score int, name text );<p class="p4"><br /><p class="p3">insert into source values (1), (2), (3);<p class="p3">insertinto level values ( 1, 10 ,'alpha' ), ( 2, 20, 'beta' ), ( 3, 15, 'kappa' );<p class="p3">insert into sourcelevel values ( 1, 1 ), ( 1,2 ), ( 3,3 );<p class="p4"><br /><p class="p3">select source.source_id, score, name fromsource<p class="p3">left join ( select * from sourcelevel, level where sourcelevel.level_id = level.level_id order byscore desc limit 1 ) <p class="p3"><span class="Apple-tab-span"> </span>as temp on temp.source_id = source.source_id;<br/>-- <br />George<br />
В списке pgsql-sql по дате отправления: