【发布时间】:2018-10-22 14:18:54
【问题描述】:
我有一个数据库包含3个表,如下:
CREATE TABLE users
(
id SERIAL PRIMARY KEY,
name VARCHAR(30) NOT NULL,
password VARCHAR(60) NOT NULL,
phone VARCHAR(10) NOT NULL,
email VARCHAR(30) UNIQUE
);
CREATE TABLE posts
(
id SERIAL PRIMARY KEY,
body TEXT NOT NULL,
user_id INTEGER REFERENCES users(id)
);
CREATE TABLE comments
(
id SERIAL PRIMARY KEY,
body TEXT NOT NULL,
post_id INTEGER REFERENCES posts(id),
user_id INTEGER REFERENCES users(id)
-- parent_id INTEGER REFERENCES comments(id)
);
我需要一个查询来使用该帖子的 id 为一个特定帖子选择所有 cmets。让我苦恼的是如何选择写评论的用户名!
这是我尝试过的:
select
c.body as cbody, p.body as pbody, c.user_id as user_id
from
users u
inner join
posts p on u.id = p.user_id
inner join
comments c on c.post_id = p.id
where
p.id=($1)
有什么帮助吗??
【问题讨论】:
-
您当前的查询有什么问题?
-
我无法返回写评论的用户的正确姓名! @TimBiegeleisen
-
我无法返回写评论的用户的正确姓名! @TimBiegeleisen
标签: sql database postgresql select