SQL:尝试在一个查询中选择两个meta_values

时间:2012-10-18 00:43:15

标签: mysql sql

SELECT meta_value 
FROM wp_postmeta 
WHERE meta_key = "bid_resource_lat" 
AND meta_key = "bid_resource_lng"

我正在尝试在一个查询中选择两行,如上所示......我无法理解为什么这不起作用...

我如何确保两个结果在一行中组合在一起?

3 个答案:

答案 0 :(得分:0)

你需要“或”,因为逻辑是你想象的错误方式。

SELECT meta_value FROM wp_postmetaWHERE meta_key = "bid_resource_lat" OR meta_key = "bid_resource_lng"

说明:

如果密钥是第一个OR,如果是第二个,则希望获得一行。最多返回两行。你写它的方式然后需要匹配两个条件。

“我想要一辆意大利式或昂贵的汽车” - 你可以买一辆法拉利,一辆梅赛德斯和一辆菲亚特 “我想要一辆意大利式且昂贵的汽车” - 你可以买一辆法拉利

答案 1 :(得分:0)

您想使用OR条件,而不是AND条件:

SELECT meta_value 
FROM wp_postmeta 
WHERE meta_key = "bid_resource_lat" 
OR meta_key = "bid_resource_lng"

您的查询无法返回任何行,因为您要求的记录meta_key列等于 "bid_resource_lng""bid_resource_lng",显然永远不会发生,因为一行只会在meta_key列中包含一个值。

答案 2 :(得分:0)

meta_key = "bid_resource_lat" AND meta_key = "bid_resource_lng"

上面永远不会是真的。请改用OR meta_key不能同时为bid_resource_lat和bid_resource_lng。