誰かが私の質問を手伝ってくれるかどうか疑問に思っていました.
これはうまく機能する私のクエリです:
$query = sprintf("SELECT primary_key, address, postcode, lat, lng, ( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM stores HAVING distance < '%s' ORDER BY distance LIMIT 0 , 5"
また、products というテーブルからデータを取得する必要があります。主キー、col1 および col2。主キーは共通フィールドです。
このクエリにどのように追加しますか? 誰かが私を助けてくれることを願っていますか?
どうもありがとう
rap-2-h さんの回答に対する回答 回答 してくださった皆様、ありがとうございます。
コード rap-2-h のおかげで、これはうまく機能し、すべての店舗と製品を取得しました。
さらに助けてもらえますか?私が提供した元のコードは、ユーザーが入力した場所に最も近い 3 つの店舗を示しています。また、店舗ごとに、店舗が保持する製品の範囲もリストしたいと考えています。
あなたがくれたコードは機能しますが、店舗名と住所が重複しており、商品の数が重複しています。
例えば:
店舗 1、住所、商品 1
店舗 1、住所、商品 2
店舗 1、住所、商品 3
ではなく: 店舗 1、住所、商品 1、商品 2、商品 3
これについて正しい方向に私を導いてくれることを願っています。助けてくれて本当にありがとうございます。
Markus Hofmann が述べたように、別のテーブルを作成する必要がありますか?
データベースの構造は、基本的に店舗 ID、名前、住所を含む店舗テーブルであり、製品データベースには店舗 ID を持つすべての製品が含まれます。
ストア 1 には、製品 1、製品 2、および製品 4 を含めることができます。
ストア 2 には、製品 1、製品 2、および製品 3 を含めることができます。
ストア 3 には、製品 2、製品 3、および製品 4 を含めることができます。
再度、感謝します