[英]Mysql query for multiple values for the same id
我希望有人可以用mysql語句來幫助我。 最后我需要這樣的方式,例如:(稍后將對json進行編碼)。
{"meta_value": "Breitensteinstr 82031"} //street and plz
{"meta_value": "Danziger Str 65307"} //street and plz
{"meta_value": "71032"} //no street on this one
我可以通過這樣做獲得單個值
SELECT meta_value FROM `stroma_commentmeta` WHERE meta_key = 'plz' or meta_key = 'street';
但現在我被卡住了。
如何在同一個表中獲取同一個comment_id的兩個值? 我的大腦無法獲得聯系。
DB的屏幕:
SELECT group_concat(
meta_value
ORDER BY
meta_key DESC
SEPARATOR " " ) as meta_value
FROM `stroma_commentmeta`
WHERE meta_key = 'plz' or meta_key = 'street'
GROUP BY comment_id ;
這帶來了一些限制:
http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html#function_group-concat
或者只是加入他們......
SELECT straight_join concat( s.meta_value, " " , p.meta_value ) as meta_value
FROM `stroma_commentmeta` p
JOIN `stroma_commentmeta` s on s.comment_id=p.comment_id and s.meta_key = 'street'
WHERE p.meta_key = 'plz' ;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.