SELECT meta_value
FROM wp_postmeta
WHERE meta_key = "bid_resource_lat"
AND meta_key = "bid_resource_lng"
我試圖在一個查詢中選擇兩行,就像你上面看到的......並且我無法將我的頭圍繞爲什麼這不是工作...SQL:嘗試在一個查詢中選擇兩個元值
而我將如何確保兩個結果在一行內組合在一起?
SELECT meta_value
FROM wp_postmeta
WHERE meta_key = "bid_resource_lat"
AND meta_key = "bid_resource_lng"
我試圖在一個查詢中選擇兩行,就像你上面看到的......並且我無法將我的頭圍繞爲什麼這不是工作...SQL:嘗試在一個查詢中選擇兩個元值
而我將如何確保兩個結果在一行內組合在一起?
你需要「或」作爲邏輯是你想象中的錯誤方式。
SELECT meta_value FROM wp_postmetaWHERE meta_key = "bid_resource_lat" OR meta_key = "bid_resource_lng"
說明:
你想獲得一個行,如果關鍵是第一或者如果它是第二個。這最多返回兩行。您編寫它的方式需要匹配這兩個條件。
「我想要一輛車是意大利或昂貴」 - 你可以得到一輛法拉利,一輛奔馳車和一輛菲亞特 「我想要一輛汽車,是意大利人,看病貴」 - 你可以得到法拉利
謝謝!你會不會知道我該如何將它們組合在一起?而不是將它們作爲單獨的行查詢? – dcolumbus
您可以在一個結果集中找到兩者。您將需要一個while循環來導航行。這裏的示例http://www.php.net/manual/en/pdostatement.fetch.php(在示例中搜索「while」)如果您使用的是PDO,但其邏輯與其他庫類似。 – Robbie
也許你可以幫助我解決這個問題的更多擴展版本:http://stackoverflow.com/questions/12945702/sql-complicated-select-statement-and-returned-radius – dcolumbus
你想使用一個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"
上面永遠不會是TRUE。使用OR代替 meta_key不能同時出現bid_resource_lat和bid_resource_lng。
你想要這個元數據的特定職位,或所有職位? – eggyal