Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 高级SQL查询设计_Mysql_Sql_Database - Fatal编程技术网

Mysql 高级SQL查询设计

Mysql 高级SQL查询设计,mysql,sql,database,Mysql,Sql,Database,我有一个产品表,用户可以选择他想让他们看到的地区和城市。他可以从下拉菜单中选择所有地区和所有城市,然后我将在列中输入=0 买家可以选择他们想要观看产品的城市,这样他们就有了一个下拉菜单来选择一个地区和/或城市。他们还可以从所有地区和/或城市选择产品 问题是这个高级查询会是什么样子 如果卖家只点击了一个特定区域,但点击了所有城市,那么如果买家选择了该区域,他可以选择他想要的任何城市。该产品仍将展出 买家可以选择所有城市,而不是选择一个城市。然后他会看到所有的帖子,不管它们发到哪个城市 我是SQL新

我有一个产品表,用户可以选择他想让他们看到的地区和城市。他可以从下拉菜单中选择所有地区和所有城市,然后我将在列中输入=0

买家可以选择他们想要观看产品的城市,这样他们就有了一个下拉菜单来选择一个地区和/或城市。他们还可以从所有地区和/或城市选择产品

问题是这个高级查询会是什么样子

  • 如果卖家只点击了一个特定区域,但点击了所有城市,那么如果买家选择了该区域,他可以选择他想要的任何城市。该产品仍将展出

  • 买家可以选择所有城市,而不是选择一个城市。然后他会看到所有的帖子,不管它们发到哪个城市


  • 我是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为空,他们将看到所有城市,否则他们对特定城市的选择必须与城市代码匹配


    我怀疑您的想法有点复杂,但希望这是正确的。

    显示两侧已使用的代码以及产品、地区和城市的表结构显示两侧已使用的代码以及产品、地区和城市的表结构