0

誰かが私の質問を手伝ってくれるかどうか疑問に思っていました.

これはうまく機能する私のクエリです:

$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 を含めることができます。

再度、感謝します

4

1 に答える 1