基本的に私次のストアドプロシージャがあります。MySQLのストアドプロシージャ、CONCATで複数の変数を挿入する方法
BEGIN
SET @query := CONCAT("SELECT *,
sqrt(
(POW(a.Latitude - co.CenterLatitude, 2)* 68.1 * 68.1) +
(POW(a.Longitude - co.CenterLongitude, 2) * 53.1 * 53.1)
) AS distance
FROM table1 as r
JOIN table2 as co ON co.field1 = r.field2
JOIN table3 AS a ON r.field1 = a.field2
WHERE ",rid);
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
をそれ持って通過し、次の:私は渡す必要がある。しかし
IN rid varchar(500), lat double, lon double
緯度と経度の変数で指定します。私はそれらを設定してクエリに追加しようとしましたが、それを認識していません。これは私が成功していないんしようとしているものです:
BEGIN
SET @lat := lat;
SET @lon := lon;
SET @query := CONCAT("SELECT *,
sqrt(
(POW(a.Latitude - @lat, 2)* 68.1 * 68.1) +
(POW(a.Longitude - @lon, 2) * 53.1 * 53.1)
) AS distance
FROM table1 as r
JOIN table2 as co ON co.field1 = r.field2
JOIN table3 AS a ON r.field1 = a.field2
WHERE ",rid);
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END
私はこれを実現する方法がわからないです。誰にも何か提案はありますか?前もって感謝します!!
は、あなただけの連結にそれらを含めることができませんでした「除去する」? – Uueerdo
私に例を教えてください。 – lov2code