我有两张桌子。一个是'用户'表。表中的每一行(用户)都有一个唯一的id(主键)。
第二个表是“任务”表。 Tasks表中的每一行都有一个外键,指向拥有该任务的用户(在Users表中)。
使用SQL Express 2008,我必须使用什么查询来获取分配给用户的所有任务的列表?例如,如果我在Users表中有一个主键为0的用户,并且在Tasks表中有10行,外键值为0,则表示该用户有10个任务分配给他。我需要构建一个查询,从Tasks表中提供这10行。
答案 0 :(得分:4)
如果您有用户PK
select tasks.*
from tasks
where tasks.UserId = 0
如果您有用户名
select tasks.*
from tasks
inner join users on users.UserId = tasks.UserId
where users.UserName = 'Bob'
答案 1 :(得分:2)
您只是在寻找一个简单的过滤器吗? SELECT * FROM tasks WHERE userid = 0
答案 2 :(得分:1)
我认为你可以用一个简单的单表选择来实现你想要的,假设你知道用户的id:
SELECT *
FROM Tasks
WHERE user_id = 1234