SQL中如何实现查询该用户是否关注了某个标签
想要效果如下
能否一条语句查出某一个标签下前十个用户的信息及你是否关注该用户?Hibernate能否搞定?
实在不好意思,我以为这个实现方案会有特殊的表结构。或者又太想当然的认为我描述的就是一个用一个链接表链接的多对多的结构,不好意思,现在补上我现在的表结构。
其中Course和User通过UserAndCourse表完成一个多对多的关联。想要在一个页面列出50个Course,每个Course信息后面有一个关注按钮,如果已经关注了就不显示关注按钮。
DDL
CREATE TABLE COURSE
(
_id INTEGER PRIMARY KEY,
COURSE_ID TEXT NOT NULL,
NAME TEXT NOT NULL,
DESC TEXT NOT NULL,
ICON TEXT,
START_DATE INTEGER,
END_DATE INTEGER,
STAND_ALONE INTEGER,
JOINED INTEGER,
PARTICIPANT_COUNT INTEGER
);
CREATE TABLE USER
(
_id INTEGER PRIMARY KEY,
USER_ID TEXT NOT NULL,
USERNAME TEXT NOT NULL,
PASSWORD TEXT NOT NULL,
EMAIL TEXT,
AVATAR TEXT,
REGISTER_TIME INTEGER
);
CREATE TABLE USER_AND_COURSE
(
USER_ID INTEGER NOT NULL,
COURSE_ID INTEGER NOT NULL
);
CREATE UNIQUE INDEX IDX_COURSE_COURSE_ID ON COURSE ( COURSE_ID );
CREATE UNIQUE INDEX IDX_USER_USER_ID ON USER ( USER_ID );
CREATE UNIQUE INDEX IDX_USER_AND_COURSE_COURSE_ID ON USER_AND_COURSE ( COURSE_ID );
CREATE UNIQUE INDEX IDX_USER_AND_COURSE_USER_ID ON USER_AND_COURSE ( USER_ID );
kyon517
11 years, 2 months ago