Mysql 显示图像_POST_ID ;以及基于MESSAGEID的POST\u IMG\u路径
我正在从多个表中提取数据,所有其他数据都已正确提取,但未根据用户消息的messageid显示POST\u图像的IMAGE\u POST\u ID POST\u IMG\u PATH字段 我的桌子是空的 1)后期图像Mysql 显示图像_POST_ID ;以及基于MESSAGEID的POST\u IMG\u路径,mysql,sql,Mysql,Sql,我正在从多个表中提取数据,所有其他数据都已正确提取,但未根据用户消息的messageid显示POST\u图像的IMAGE\u POST\u ID POST\u IMG\u PATH字段 我的桌子是空的 1)后期图像 | IMAGE_ID | SMALL_PIC_PATH | LARGE_PIC_PATH | ADDDATE | VISIBILITY | USERID | MESSAGEID | ------------------------
| IMAGE_ID | SMALL_PIC_PATH | LARGE_PIC_PATH | ADDDATE | VISIBILITY | USERID | MESSAGEID |
---------------------------------------------------------------------------------------------------------------------
| i_i1 | /post/small/a.jpg | /post/img/a.jpg | January, 01 2012 00:00:00+0000 | public | 2 | m1 |
| i_i2 | /post/small/b.jpg | /post/img/b.jpg | January, 01 2012 00:00:00+0000 | public | 2 | m1 |
| i_i3 | /post/small/c.jpg | /post/img/c.jpg | January, 01 2012 00:00:00+0000 | public | 2 | m1 |
| i_i4 | /post/small/d.jpg | /post/img/d.jpg | January, 01 2012 00:00:00+0000 | public | 2 | m1 |
| i_i5 | /post/small/e.jpg | /post/img/e.jpg | January, 01 2012 00:00:00+0000 | public | 3 | m2 |
| i_i6 | /post/small/f.jpg | /post/img/f.jpg | January, 01 2012 00:00:00+0000 | public | 3 | m2 |
| MESSAGEID | MESSAGE | ADDDATE | SENTBY | VISIBILITY | USERID |
----------------------------------------------------------------------------
| m1 | Hello how are you | 23-2-2012 | 2 | public | 1 |
| m2 | Hello | 23-2-2012 | 3 | public | 1 |
| m3 | Hiiiiiii | 23-2-2012 | 4 | public | 1 |
2)用户信息
| IMAGE_ID | SMALL_PIC_PATH | LARGE_PIC_PATH | ADDDATE | VISIBILITY | USERID | MESSAGEID |
---------------------------------------------------------------------------------------------------------------------
| i_i1 | /post/small/a.jpg | /post/img/a.jpg | January, 01 2012 00:00:00+0000 | public | 2 | m1 |
| i_i2 | /post/small/b.jpg | /post/img/b.jpg | January, 01 2012 00:00:00+0000 | public | 2 | m1 |
| i_i3 | /post/small/c.jpg | /post/img/c.jpg | January, 01 2012 00:00:00+0000 | public | 2 | m1 |
| i_i4 | /post/small/d.jpg | /post/img/d.jpg | January, 01 2012 00:00:00+0000 | public | 2 | m1 |
| i_i5 | /post/small/e.jpg | /post/img/e.jpg | January, 01 2012 00:00:00+0000 | public | 3 | m2 |
| i_i6 | /post/small/f.jpg | /post/img/f.jpg | January, 01 2012 00:00:00+0000 | public | 3 | m2 |
| MESSAGEID | MESSAGE | ADDDATE | SENTBY | VISIBILITY | USERID |
----------------------------------------------------------------------------
| m1 | Hello how are you | 23-2-2012 | 2 | public | 1 |
| m2 | Hello | 23-2-2012 | 3 | public | 1 |
| m3 | Hiiiiiii | 23-2-2012 | 4 | public | 1 |
我想获取相关消息id的所有图像id和小图片路径。
但在我的查询中,它显示了所有带有messageid的image\u id small\u pic\u路径
这是我的问题
SELECT user_messages.messageid,user_messages.message,
user_messages.sentby,user_messages.visibility,
(
SELECT GROUP_CONCAT( `post_images`.`image_id` SEPARATOR ';')
FROM `post_images`
JOIN user_messages
ON `post_images`.`messageid` =user_messages.messageid
) AS `Image_post_id`,
(
SELECT GROUP_CONCAT( `post_images`.`small_pic_path` SEPARATOR ';')
FROM `post_images`
JOIN user_messages
ON `post_images`.`messageid` =user_messages.messageid
) AS Post_Img_path,
(
SELECT count(*) FROM likes
WHERE element_id=user_messages.messageid
)AS Total_Likes
, smsusers.fname as Msg_sender_fname,
smsusers.lname as Msg_sender_lname,
profile_pic.small_pic_path as Msg_sender_pic
FROM user_messages
INNER JOIN smsusers ON
user_messages.SENTBY = smsusers.id
INNER JOIN profile_pic ON
user_messages.SENTBY = profile_pic.userid
WHERE user_messages.userid='1';
这是我的我得到了答案。这里我没有使用
分组方式
我不完全理解你的问题。post_图像
和user_消息
表之间似乎没有关系。你们能把你们想要的写出来作为输出吗?MESSAGEID是Post_images表中的外键。用户消息中的一条消息可以有多个Post图像条目请查看SQLFIDLE中唯一的MESSAGEID
外键处于删除状态,而不是创建状态。是否确定已正确创建表?不知道是否可以更正表