0

これは、次のテーブルを生成する私のクエリです

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 Small_pic_path,
(
  SELECT count(*) FROM likes
  WHERE element_id=user_messages.messageid
  )AS Total_Likes

FROM user_messages
WHERE user_messages.userid='1';

SQL テーブル

ここでは、smsusers テーブルの id であるsentbyの詳細を含めたいと思います。詳細 fname、smsusers テーブルの lname、および profile_pic テーブルの small_pic_path が必要です。詳細を取得する方法。

4

1 に答える 1

1
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 Small_pic_path,
        (
            SELECT count(*) 
            FROM likes
            WHERE element_id=user_messages.messageid
        ) AS Total_Likes, 
        smsusers.*  -- select the columns you want to show
FROM    user_messages
        INNER JOIN smsusers 
        ON user_messages.SENTBY = smsusers.id
WHERE   user_messages.userid= '1';

結合についてさらに詳しく知りたい場合は、以下のリンクにアクセスしてください。

于 2013-02-23T15:06:32.673 に答える