Mysql 高级SQL查询设计
我有一个产品表,用户可以选择他想让他们看到的地区和城市。他可以从下拉菜单中选择所有地区和所有城市,然后我将在列中输入=0 买家可以选择他们想要观看产品的城市,这样他们就有了一个下拉菜单来选择一个地区和/或城市。他们还可以从所有地区和/或城市选择产品 问题是这个高级查询会是什么样子Mysql 高级SQL查询设计,mysql,sql,database,Mysql,Sql,Database,我有一个产品表,用户可以选择他想让他们看到的地区和城市。他可以从下拉菜单中选择所有地区和所有城市,然后我将在列中输入=0 买家可以选择他们想要观看产品的城市,这样他们就有了一个下拉菜单来选择一个地区和/或城市。他们还可以从所有地区和/或城市选择产品 问题是这个高级查询会是什么样子 如果卖家只点击了一个特定区域,但点击了所有城市,那么如果买家选择了该区域,他可以选择他想要的任何城市。该产品仍将展出 买家可以选择所有城市,而不是选择一个城市。然后他会看到所有的帖子,不管它们发到哪个城市 我是SQL新
我是SQL新手,所以如果您能指导我为这个查询选择正确的命令,那就太好了。这对我来说有点复杂,我不知道从哪里开始。我想我理解你的意思。您的查询可以有两个参数,一个用于城市,一个用于地区 在city下拉列表中,如果用户选择一个城市,比如洛杉矶,@city参数将包含该城市(比如说像LAX这样的代码)。如果他们选择“所有城市”,那么@city参数的值将为NULL 地区也一样 然后,您的查询可能类似于:
SELECT ...
FROM city_tbl
INNER join region_tbl ON ...
WHERE ( @city IS NULL or @city = city_tbl.city_code )
AND ( @region IS NULL or @region = region_tbl.region_code )
AND ...
因此,如果他们选择了“所有城市”,@city为空,他们将看到所有城市,否则他们对特定城市的选择必须与城市代码匹配
我怀疑你的想法有点复杂,但希望这是正确的。我想我理解你的意思。您的查询可以有两个参数,一个用于城市,一个用于地区 在city下拉列表中,如果用户选择一个城市,比如洛杉矶,@city参数将包含该城市(比如说像LAX这样的代码)。如果他们选择“所有城市”,那么@city参数的值将为NULL 地区也一样 然后,您的查询可能类似于:
SELECT ...
FROM city_tbl
INNER join region_tbl ON ...
WHERE ( @city IS NULL or @city = city_tbl.city_code )
AND ( @region IS NULL or @region = region_tbl.region_code )
AND ...
因此,如果他们选择了“所有城市”,@city为空,他们将看到所有城市,否则他们对特定城市的选择必须与城市代码匹配
我怀疑您的想法有点复杂,但希望这是正确的。显示两侧已使用的代码以及产品、地区和城市的表结构显示两侧已使用的代码以及产品、地区和城市的表结构