需要改變這個在postgreSQL中運行?我該如何改變這個在postgresql中運行?
我被賦予了一塊SQL的
UPDATE ACC
SET ACC.ACC_EC = SITESmin.ACC_EC,
ACC.ACC_NC = SITESmin.ACC_NC
FROM ACC
INNER JOIN LATERAL (SELECT TOP 1
*
FROM SITES
ORDER BY (acc_ec - site_etg) * (acc_ec - site_etg) + (acc_ncb - site_ntg) * (acc_ncb - site_ntg)
) SITESmin;
這似乎是使用設置,但我不知道爲什麼,因此,如果不需要的話刪除它。 我想讓postgresql找出距離。對於文件1中的每條記錄,我必須將其與文件2中的3300條記錄進行比較,然後選擇最近的記錄。收到的智慧表明3300的陣列解決方案,但我不知道該怎麼做。也許它是SQL中的一個「子查詢」。
如果我可以上傳樣品,我會這樣做,但我有這種感覺這是不允許的嗎?
這裏是提起名字
public.acc.Location_Easting_OSGR
public.acc.Location_Northing_OSGR
"public"."Sites"."SITE_ETG"
"public"."Sites"."SITE_NTG"
單曲/ ACC INNER JOIN LATERAL //' – wildplasser
並用底部的「LIMIT 1」替換子查詢頂部的「TOP 1」。並且:爲'... acc_ec - site_etg ...'等添加一些範圍表限定符,使其他人可以理解查詢。 – wildplasser