SQL命令 - 高级选择

时间:2014-04-28 15:53:28

标签: sql sql-server database select

使用SQL Server

我有两张桌子

表1包含每个用户名及其经理

User    HisManager

John        Micheal

Gib          Mai

Sara        Mai

表2包含用户的所有记录

Id UserName Comment Date

1  John     [Any comment]  [Any Date]

2  Sara     [Any comment]  [Any Date]

现在@ManagerX已登录到页面

我想要检索

表2中的所有记录@ManagerX是他们的经理

4 个答案:

答案 0 :(得分:3)

SELECT Table2.*
FROM Table1
INNER JOIN Table2 ON Table1.User=Table2.UserName
WHERE Table2.HisManager = @ManagerX

答案 1 :(得分:1)

SELECT * from Table2 a inner join 
(SELECT * FROM Table1 WHERE Manager = 'ManagerX') b ON a.User = b.Username

答案 2 :(得分:1)

SELECT table2.*
FROM table1 inner join table 2 on table1.user = table2.username
WHERE table1.hisManager = @managerX

答案 3 :(得分:0)

我会这样做:

select 
    t2.* 
from 
    table2 t2 
    left outer join table1 t1 on t1.username = t2.username 
where t1.hisManager  = 'Mai'

这将返回table2中的所有字段,其中table1中的hisManager与where子句中的名称匹配。 如果您愿意,可以在选择列表中添加更多字段。