0

私は3つのテーブルを持っています:

ユーザー

userid | pseudo

投稿

id | titre

posts_com

id | userid | id_billet | auteur | date | html

lasts posts_com を投稿 ID の所有者とユーザーの所有者とともにリストする必要があります...このクエリを試しましたが、結果が正しくありません...何かアイデアをお願いします。

SELECT c.userid,
       c.id_billet,
       c.auteur,
       c.date,
       c.html,
       u.pseudo,
       b.titre,
       b.id
FROM posts_com AS c,
     users AS u,
     posts AS b
WHERE u.userid=b.userid
ORDER BY c.id DESC
LIMIT 12

[編集] 必要なもの:

-> コメント 1 (html) from auteur on post titre (user foo)

-> ポスト titre2 (ユーザー foo2) の auteur2 からのコメント 2 (html) ...

4

4 に答える 4

1

結合を使用

SELECT A.userid,A.id_billet,A.auteur,A.date,A.html,B.pseudo,C.id,C.titre
FROM posts_com A
JOIN users B ON A.userid = B.userid
JOIN posts C ON A.id = C.id
ORDER BY A.id DESC
LIMIT 12

編集

SELECT A.userid,A.id_billet,A.auteur,A.date,A.html,B.pseudo,C.id,C.titre
FROM posts_com A
JOIN users B ON A.userid = B.userid
JOIN posts C ON A.id_billet = C.id
ORDER BY A.id DESC
LIMIT 12
于 2013-09-27T10:39:19.613 に答える
0

post_com テーブルを結果セットにリンクしていません。したがって、post_com のすべてのレコードは、userse-post 結合のすべてのレコードと結合されます。

SELECT c.userid,
       c.id_billet,
       c.auteur,
       c.date,
       c.html,
       u.pseudo,
       b.titre,
       b.id
FROM posts_com AS c,
     users AS u,
     posts AS b
WHERE u.userid=b.userid
  AND b.id = c.id(+)
ORDER BY c.id DESC
LIMIT 12
于 2013-09-27T10:37:06.220 に答える
0

ライン

WHERE u.userid=b.userid

テーブルの投稿に userid という名前の列がないようです。多分あなたが意味する

WHERE u.userid=b.id

?

于 2013-09-27T10:34:09.377 に答える