gpt4 book ai didi

php - 查询2个表?

转载 作者:行者123 更新时间:2023-11-30 01:24:48 25 4
gpt4 key购买 nike

我想知道是否有人可以帮助我解决我的疑问。

这是我的查询,效果很好:

$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。主键是公共(public)字段。

我如何添加到此查询中?希望有人能帮助我吗?

非常感谢

<小时/>

对 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。

再次感谢

最佳答案

您可以尝试这个(如 @TheGunner 所说的 INNER JOIN 子句):

SELECT stores.primary_key, products.primary_key, address, postcode, lat, lng, col1, col2, ( 3959 * acos( cos( radians('%s') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * sin( radians( lat ) ) ) ) AS distance FROM stores 
INNER JOIN products ON products.primary_key = stores.primary_key
HAVING distance < '%s' ORDER BY distance LIMIT 0 , 5

(我希望我理解你的问题)

关于php - 查询2个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18130121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com