Valcha Posted January 30, 2008 Report Share Posted January 30, 2008 Sveiki! Tātad man ir tabula, kurā ieraksti pēc koda var atkārtoties. Man pie gadījuma, ja atrodas vairāk kā 1 ieraksts, attiecīgajam kodam ir jāatlasa tikai pēdējā vērtība (lielākais id). Problēma bija tāda, ka nevarēju izmantot order by subkverijā, jo sāk klaigāt par right parenthesis. Tabulas piemērs: id | kods | vel_dati 1|k1|aaa 2|k1|bbb 3|k2|ccc 4|k3|ddd Atlases rezultātam vajadzētu būt 2|k1|bbb 3|k2|ccc 4|k3|ddd Mēģināju atlasīt sekojoši: SELECT a.kods, count(a.kods), (select b.id from tabula b where b.kods=a.kods and rownum=1 order by b.id desc) id FROM tabula a group by a.kods order by kods desc Neļauj izmantot order by subkverijā, lai pielasītu pēdējo vērtību. Ja nu kāds vēlas padalīties DB zināšanās un palīdzēt ar atlasi, paldies. Link to comment Share on other sites More sharing options...
andrisp Posted January 30, 2008 Report Share Posted January 30, 2008 subkverijs var atgriezt tikai vienu vērtību. Nezinu kā Oraclī, bet MySQL varētu izmantot LIMIT 1. Link to comment Share on other sites More sharing options...
Aleksejs Posted January 30, 2008 Report Share Posted January 30, 2008 atlasi: max(b.id) from tabula b where b.kods=a.kods and rownum=1 Link to comment Share on other sites More sharing options...
Valcha Posted January 30, 2008 Author Report Share Posted January 30, 2008 Paldies Aleksej, tas derēja :) Link to comment Share on other sites More sharing options...
Recommended Posts