mysql 选择前4个_mysql从4个表中选择
不要認為GROUP BY是必需的 . 雖然如果一個孩子有2個父記錄,你可能想用它來將2個父母分組到一行 - 但不確定這是否是你的要求 . 因為如果一個孩子有2個父母,那么將為該孩子返回的父母是未定義的 .
假設所有孩子都有父母,所有父母都會有姓,姓和電子郵件: -
SELECT
k.*,
p.*,
u1.meta_value AS parent_lastname,
u2.meta_value AS parent_firstname,
u3.meta_value AS parent_email
FROM kids k
INNER JOIN relations r ON k.ID = r.kid_id
INNER JOIN parents p ON p.user_id = r.user_id
INNER JOIN usermeta u1 ON r.user_id = u1.user_id AND u1.meta_key = 'last_name'
INNER JOIN usermeta u2 ON r.user_id = u1.user_id AND u1.meta_key = 'first_name'
INNER JOIN usermeta u3 ON r.user_id = u1.user_id AND u1.meta_key = 'email'
如果該假設是錯誤的,則將INNER JOIN更改為LEFT OUTER JOIN
SELECT
k.*,
p.*,
u1.meta_value AS parent_lastname,
u2.meta_value AS parent_firstname,
u3.meta_value AS parent_email
FROM kids k
LEFT OUTER JOIN relations r ON k.ID = r.kid_id
LEFT OUTER JOIN parents p ON p.user_id = r.user_id
LEFT OUTER JOIN usermeta u1 ON r.user_id = u1.user_id AND u1.meta_key = 'last_name'
LEFT OUTER JOIN usermeta u2 ON r.user_id = u1.user_id AND u1.meta_key = 'first_name'
LEFT OUTER JOIN usermeta u3 ON r.user_id = u1.user_id AND u1.meta_key = 'email'
總結
以上是生活随笔為你收集整理的mysql 选择前4个_mysql从4个表中选择的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到老婆离开自己预示什么意思
- 下一篇: java判断题_【Java判断题】请大神