これは、テーブルから前のレコードと次のレコードを選択して、ユーザーが特定の製品名、eqCheeseに最も近い製品も表示できるようにするための最良の方法です。
製品テーブルは次のように定義されます
create table toode (
toode char(20) primary key, -- product code
name char (100) -- product name
)
以下のコードは機能しているようですが、少し見苦しいようです。Postgresでこれを実装するための最良の方法はどれですか?
CREATE temp table toodevalik1 on commit drop as
SELECT *
FROM toode
WHERE name >= 'Cheese'
order by name, toode
limit 50;
CREATE temp table toodevalik2 on commit drop as
SELECT *
FROM toode
WHERE name < 'Cheese'
order by name desc, toode desc
limit 50;
SELECT *
FROM toodevalik1
union all
SELECT *
FROM toodevalik2
order by name, toode;