gpt4 book ai didi

mysql - 连接 3 个表时遇到问题(表/别名不唯一)

转载 作者:行者123 更新时间:2023-11-29 17:52:19 26 4
gpt4 key购买 nike

我正在尝试完成我的第一次成功加入,但就是无法成功。

这是我的 3 个表名称和列:

STORE 列:id(主要)、名称、类型、国家/地区
银行列:id、货币
STORE_BANKING(中间表)列:store_id、banking_id

我有一个简单的 html 搜索表单,用户可以在其中搜索与货币和/或国家/地区匹配的商店结果。

我收到错误:不唯一的表/别名:'store'

也许我的 Store_banking 语法不正确?也许 store_banking.id 应该是 store_banking_id ?

或者也许我没有使用正确的连接类型?

 $query = "(
SELECT *
FROM store
LEFT JOIN store ON banking.id=store.id
LEFT JOIN banking ON store_banking.id = banking.id
WHERE ('$type' IS NULL OR '$type' = '' OR type = '$type')
AND ('$currency' IS NULL OR '$currency' = '' OR currency = '$currency') AND
('$country' IS NULL OR '$country' = '' OR country = '$country')order by
name)";

假设有一些搜索国家/地区为“任意”且货币为日元的商店。日元值存储在表“银行”中,因此我需要查询来检查该表并将所有与日元作为货币匹配的商店包含在结果中。其他值(例如名称、类型和国家/地区)都位于“商店”表中,因此更容易。

最佳答案

假设您要搜索货币、国家/地区和类型。这是查询:

 SELECT * FROM Store
LEFT JOIN STORE_BANKING SB ON Store.id=SB.store_id
LEFT JOIN banking B ON SB.banking_id = B.id
WHERE
('$type' IS NULL OR '$type' = '' OR Store.type = '$type')
AND
('$country' IS NULL OR '$country' = '' OR Store.country = '$country')
And
('$currency' IS NULL OR '$currency' = '' OR B.currency= '$currency')
Order by Store.name

关于mysql - 连接 3 个表时遇到问题(表/别名不唯一),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49204780/

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