SELECT meta_value
FROM wp_postmeta
WHERE meta_key = "bid_resource_lat"
AND meta_key = "bid_resource_lng"
我试图在一个查询中选择两行,如您在上面看到的......我无法理解为什么这不起作用......
我如何确保这两个结果在一行中组合在一起?
您需要“或”,因为逻辑与您想象的相反。
SELECT meta_value FROM wp_postmetaWHERE meta_key = "bid_resource_lat" OR meta_key = "bid_resource_lng"
解释:
如果键是第一个或者是第二个,你想得到一行。这最多返回两行。您编写它的方式则需要匹配两个条件。
“我想要一辆意大利式或昂贵的汽车” - 你可以买一辆法拉利、一辆梅赛德斯和一辆菲亚特 “我想要一辆意大利式且昂贵的汽车” - 你可以买一辆法拉利
您想使用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
。
meta_key = "bid_resource_lat" AND meta_key = "bid_resource_lng"
以上永远不会是真的。使用 OR 代替 meta_key 不能同时为 bid_resource_lat 和 bid_resource_lng。