douyun8901 2017-10-20 01:29
浏览 24

LEFT JOIN GROUP结果与PK相同

I want to GROUP LEFT JOIN rows in my query,with another, like this:

   [ID] => 1,
   [user_email] => 'example@example.com',
   [user_registered]    => '2017-10-13 14:39:20',
   [preferences_id] => 1,
   [uid] => 1,
   [user_social_links] => Array
        (
            [1 *social_id index*] => Array
                (
                    [name] => FACEBOOK
                    [value] => http://facebook.com/url
                    [display] => 1
                )

            [2 *social_id index*] => Array
                (
                    [name] => TWITTER
                    [value] => http://twitter.com/url
                    [display] => 1
                )

        )

I have these tables:

  • users
  • user_account
  • user_social_links
users :
--------------------------------------------------
| ID | user_email        | user_registered       |
--------------------------------------------------
|  1  | example@org.com  |2017-10-13 14:39:20    |
--------------------------------------------------
|  3  | example2@org.com |2017-10-13 15:20:05    |
--------------------------------------------------
user_account:
--------------------------------------------------
| preferences_id | uid | user_nicename           |
--------------------------------------------------
|  1             |  1   | example nice name1     |
--------------------------------------------------
|  2             |  3   | example nice name2     |
--------------------------------------------------

user_social_links :
------------------------------------------------------------
| social_id | uid | name     | value              | display |
------------------------------------------------------------
|  1        |  1  | FACEBOOK | fb.me/example      |   1     |
------------------------------------------------------------
|  2        |  1  | TWITTER  | twitter.com/example|   1     |
------------------------------------------------------------

My query is :

SELECT 
user_account.preferences_id,user_account.uid,user_account.user_nicename,
users.ID,users.user_email,users.user_registered,user_social_links.social_id,user_social_links.value,user_social_links.name,user_social_links.display,
FROM user_account
LEFT JOIN user_social_links 
     ON user_social_links.uid = user_account.uid
LEFT JOIN users 
     ON users.ID = user_account.uid
WHERE user_account.uid = :userid

Output:

Array
(
    [0] => Array
        (
            [preferences_id] => 1
            [uid] => 1
            [user_nicename] => example nice name1
            [ID] => 1
            [user_email] => example@org.com
            [user_registered] => 2017-10-13 14:39:20
            [social_id] => 1
            [value] => fb.me/example
            [name] => FACEBOOK
            [display] => 1
        )

    [1] => Array
        (
            [preferences_id] => 1
            [uid] => 1
            [user_nicename] => example nice name1
            [ID] => 1
            [user_email] => example@org.com
            [user_registered] => 2017-10-13 14:39:20
            [social_id] => 2
            [value] => twitter.com/example
            [name] => TWITTER
            [display] => 1
        )

)

Note: I can't use GROUP BY user_account.uid (#1055 only_full_group_by error mysql).¿How I can get first result example? I want to do in one query,not use foreach (PHP). Please anyone can help me? best regards.

  • 写回答

1条回答 默认 最新

  • doyhq66282 2017-10-20 02:17
    关注

    In MySQL 5.7 you could enable GROUP BY on aggregated columns by overriding the default ONLY_FULL_GROUP_BY sqlmode using SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); as explained at Error Code: 1055 incompatible with sql_mode=only_full_group_by

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题