クエリのどこかで where オプションの値を使用できる方法はありますか? 私がやろうとしているのは、postgis を使用してマップ内のポイントを取得し、ビューでも距離を返すことです。
SELECT name,
ST_Distance(ST_GeographyFromText('SRID=4326;POINT(-110 29)')::geography, location:: geography)
FROM global_points
WHERE ST_DWithin(location, ST_GeographyFromText('SRID=4326;POINT(-110 29)'), 1000000);
それは単一のクエリには適していますが、ビューを使用して、他のテーブルからの他の情報を結合したいと思っていました。
SELECT * FROM view WHERE currLoc = POINT(50 50)
ビューの残りの部分で currLoc を使用できるようにするには、次のようにします。
CREATE VIEW testDis
AS
SELECT name, ST_Distance(currPos::geography, latlong::geography)
FROM global_points;
おそらく完全に間違っていますが、他に何ができるかわかりません。
ありがとう