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

我试图在一个查询中选择两行,如您在上面看到的......我无法理解为什么这不起作用......

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

4

3 回答 3

0

您需要“或”,因为逻辑与您想象的相反。

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

解释:

如果键是第一个或者是第二个,你想得到一行。这最多返回两行。您编写它的方式则需要匹配两个条件。

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

于 2012-10-18T00:46:59.890 回答
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

于 2012-10-18T00:47:08.223 回答
0
meta_key = "bid_resource_lat" AND meta_key = "bid_resource_lng"

以上永远不会是真的。使用 OR 代替 meta_key 不能同时为 bid_resource_lat 和 bid_resource_lng。

于 2012-10-18T00:48:26.977 回答