SQL クエリにエラーがあります。
mysql_query("
SELECT * from houses
WHERE pcode=(
SELECT outcode,(SQRT((pow((`x` -$x),2)) + (pow((`y` -$y),2)))) AS `distance`
FROM hwz_postcodes
WHERE `x` BETWEEN $xnegexp AND $xplusexp
AND `y` BETWEEN $ynegexp AND $yplusexp
ORDER BY `distance`
)");
基本的に 2 つのテーブルがあり、1 つのテーブルには対応する郵便番号を持つ家屋のリストがあり、もう 1 つのテーブルには郵便番号のリストがあります。私のクエリは基本的に、郵便番号を近くの郵便番号と比較し、近くの家を表示します。
サブクエリは、最も近い郵便番号を正常に検出し、それらを距離順にリストします。これをwhileループに入れて、その中で別のクエリを実行して家のテーブルを調べることができますが、効率的ではありません。
誰でもクエリの解決策を提案できますか?最初のサブクエリの結果は距離で並べ替える必要があることを思い出してください。距離は示されている平方根の式によって規定されています。
前もって感謝します!!