1対多リレーションを持つPostgreSQLには2つのテーブルがあります。私はそれらに参加する必要がありますので、それぞれの "1つ"のために、私は "多くの"テーブルから単一の結果を得るだけです。それだけでなく、 "多くの"テーブルから特定の結果を取り出す必要があります。1対多に参加して1つの結果を取得する
TABLE_A ID | NAME | DATE | MORE COLS.... 1 | JOHN | 2012-01-10 | .... 2 | LIZA | 2012-01-10 | .... 3 | ANNY | 2012-01-10 | .... 4 | JAMES | 2012-01-10 | .... ... TABLE_B ID | CODE1 | CODE2 | SORT 1 | 04020 | 85003 | 1 1 | 04030 | 85002 | 4 2 | 81000 | 80703 | 1 3 | 87010 | 80102 | 4 3 | 87010 | 84701 | 5 4 | 04810 | 85003 | 1 4 | 04030 | 85002 | 4 4 | 04020 | 85003 | 1 ... QUERY RESULT ID | NAME | DATE | CODE1 | CODE2 1 | JOHN | 2012-01-10 | 04020 | 85003 2 | LIZA | 2012-01-10 | 81000 | 80703 3 | ANNY | 2012-01-10 | 87010 | 80102 4 | JAMES | 2012-01-10 | 04810 | 85003 ...
TABLE_BのSORT列は、実際には並べ替えられたCODE2の最後の文字です。 CODE2は1-9で終了することができますが、3が最も重要なのは5,7,4,2,1,0,6,8,9したがって3 - > 1,5 - > 2,7 - > 3です。
私が直面している問題は、sortが最も小さい数値であるTABLE_Bから行が必要なことです。いくつかのケースでは、複数の最下位ケースがあります(TABLE_BのID = 4を参照)。最も低いIDを持つ行が選択されているかどうかは関係ありません。
ようこそStackOverflow!データの表示と明確な質問をお寄せいただきありがとうございます。しかし、データをロードするための 'CREATE TABLE'ステートメントと' INSERT'ステートメントや 'COPY'ステートメントに関してデータを表示すると、あなたを助けたい人には、次回はより簡単になります。こうすることで、候補者は投稿前に簡単に候補者の回答をテストして、構文エラーがなく、必要な結果を得ていることを確認することができます。 – kgrittn
ご意見ありがとうございます。私は今からそれをやるつもりです。 – thorgilsv