1

messageid に基づいて image_id と small_pic_path パスを group_concate したい。しかし、グループ連結はすべてのimage_idと最初のmessageidへのパスを示しています

これを解決する方法

group_concate がなければ正常に動作しています

SELECT user_messages.messageid,user_messages.message,
user_messages.sentby,user_messages.visibility,

post_images.image_id,
post_images.small_pic_path

FROM user_messages
      INNER JOIN smsusers ON
        user_messages.SENTBY = smsusers.id
 INNER JOIN profile_pic ON
 user_messages.SENTBY = profile_pic.userid
left outer JOIN post_images ON
user_messages.messageid=post_images.messageid
WHERE user_messages.userid='1';

適切な出力デモの表示は

user_messages の messageid に基づいて投稿画像の image_id, small_pic_path を group_concate したいのですが、これは正しく機能していません

    SELECT user_messages.messageid,user_messages.message,
user_messages.sentby,user_messages.visibility,

GROUP_CONCAT( post_images.image_id SEPARATOR ';')
as Image_id,
GROUP_CONCAT( post_images.small_pic_path SEPARATOR ';')
as Image_path

FROM user_messages
      INNER JOIN smsusers ON
        user_messages.SENTBY = smsusers.id
 left outer JOIN post_images ON
user_messages.messageid=post_images.messageid
WHERE user_messages.userid='1';

デモは

4

1 に答える 1

0

GROUP BYあなたは句が欠けています、

GROUP BY  user_messages.messageid,
          user_messages.message,
          user_messages.sentby,
          user_messages.visibility
于 2013-02-25T05:35:47.963 に答える