2013-02-24 24 views
0

我取出由多個表中的所有其他數據被正確讀取的數據,但IMAGE_POST_ID POST_IMG_PATH post_images領域根據user_messages的信息id沒有顯示IMAGE_POST_ID \t和POST_IMG_PATH。表示基於MESSAGEID

MY表是

1)post_images

| 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 | 

2)user_messages

| 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 | 

欲獲取所有image_id和small_pic_path培訓相關的消息ID的。 但用我的查詢,它顯示所有的messageID與所有image_id small_pic_path。

這是我的查詢

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'; 

這是我query link

+0

我不完全理解你的問題。 「post_images」和「user_messages」表之間似乎沒有關係。你能寫出你想要的輸出嗎? – sjdaws 2013-02-24 07:16:51

+0

MESSAGEID是Post_images表中的外鍵。在user_messages上的一條消息可以有多個Post_images條目 – 2013-02-24 07:20:07

+0

請參閱[查詢鏈接](http://sqlfiddle.com/#!2/d0fec/2) – 2013-02-24 07:22:59

回答

0

我得到了答案。這裏我沒有使用group by