usertable
----
id, username
grouptable
----
id, groupname
group_user
--------
uid, gid
books
----
id, groupname入参: groupname,username
输出:图书列表
当用户名包含在groupname中时,是否可以使用一条sql语句来获取图书列表
问题2:任何可以推荐给掌握复杂sql语句的好书。
发布于 2010-01-13 17:28:18
此查询提供按用户参数的图书列表
SELECT b.id,
FROM usertable u
INNER JOIN group_user gu ON gu.uid = u.id
INNER JOIN grouptable g ON g.id= gu.gid
INNER JOIN books b ON b.groupname = g.groupname
WHERE u.username = @user_name另外,我认为如果您有组名称,您可以使用
SELECT b.id,
FROM grouptable g
INNER JOIN books b ON b.groupname = g.groupname
WHERE g.groupname = @group_name总线在两个参数上都有选择,我认为这不是很好的想法。此查询将获取用户组名称的帐簿列表
SELECT b.id,
FROM usertable u
INNER JOIN group_user gu ON gu.uid = u.id
INNER JOIN grouptable g ON g.id= gu.gid
AND g.group_name = @group_name
INNER JOIN books b ON b.groupname = g.groupname
WHERE u.username = @user_namehttps://stackoverflow.com/questions/2055576
复制相似问题