小编use*_*774的帖子

带有多个where语句的sql查询

我有一个相当的,对我来说,复杂的mysql查询,我完全陷入困境,无法找到任何在线答案.

这是我的查询:

SELECT
items.*
FROM
items
INNER JOIN
items_meta_data
WHERE
(
        (meta_key = 'lat' AND meta_value >= '55')
    OR
        (meta_key = 'lat' AND meta_value <= '65')
)
AND
(
        (meta_key = 'long' AND meta_value >= '20')
    OR
        (meta_key = 'long' AND meta_value <= '30')
)
GROUP BY
item_id
Run Code Online (Sandbox Code Playgroud)

当然,我只用1个语句测试了查询,并且工作正常.因此,如果我只传递长或纬度部分,那么我得到结果.只有当我尝试将它们拼接在一起时才会得到不同的结果.

我在这里先向您的帮助表示感谢!

表结构如下:

表项:ID item_name item_description

表meta:meta_id item_id meta_key meta_value

对于任何有兴趣的人,我终于设法解决了这个问题.谢谢大家的帮助和内心.

SELECT
SQL_CALC_FOUND_ROWS items.* 
FROM
items
INNER JOIN
items_meta ON (items.ID = items_meta.post_id)
INNER JOIN
items_meta AS m1 ON (items.ID = …
Run Code Online (Sandbox Code Playgroud)

mysql

44
推荐指数
2
解决办法
27万
查看次数

标签 统计

mysql ×1