小弟有个SQL语句不会写了,请大神们帮帮忙。
两张表。
用户表:
id 用户名 标识
1 张三 1
2 李四 1
3 王五 2
信息表
id 用户id 用户名 性别
1 1 张三 男
2 2 李四 男
3 3 王五 女
----------------------------------------------------
条件是where 用户表.标识=1
我想查询出来的结果是
用户ID 用户名 性别
1 张三 男
2 李四 男
-----------------------------------------------------
请各位大神们指点,小弟不胜感激。
[解决办法]
用户表t_User
信息表t_Info
select A.ID as UserID,
A.UserName,
B.Sex
from t_User A
Inner Join t_Info On A.ID=B.UserID
where A.Flag=1
[解决办法]
- SQL code
--> 测试数据: @用户表declare @用户表 table (id int,用户名 varchar(4),标识 int)insert into @用户表select 1,'张三',1 union allselect 2,'李四',1 union allselect 3,'王五',2--> 测试数据: @信息表declare @信息表 table (id int,用户id int,用户名 varchar(4),性别 varchar(2))insert into @信息表select 1,1,'张三','男' union allselect 2,2,'李四','男' union allselect 3,3,'王五','女'--第一种思路select b.用户id,b.用户名,b.性别 from @用户表 a left join @信息表 b on a.id=b.用户id where a.标识=1--第二种思路select b.用户id,b.用户名,b.性别 from @信息表 b where (select 标识 from @用户表 a where a.id=b.用户id)=1/*用户id 用户名 性别----------- ---- ----1 张三 男2 李四 男*/
[解决办法]
- SQL code
select b.用户id,b.用户名,b.性别 from @用户表 a left join @信息表 b on a.id=b.用户id where a.标识=1