CREATE TABLE Table1
(
[userid] [int] NULL,
[username] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]CREATE TABLE Table2
[user1] [int] NULL,
[user2] [int] NULL
) ON [PRIMARY]其中Table2中的user1 和user2字段都是以Table1中的userid为外键
我如何用一条sql语句查询返回 Table2中字段user1和user2对应的username呢? 而不是返回userid
(
[userid] [int] NULL,
[username] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]CREATE TABLE Table2
[user1] [int] NULL,
[user2] [int] NULL
) ON [PRIMARY]其中Table2中的user1 和user2字段都是以Table1中的userid为外键
我如何用一条sql语句查询返回 Table2中字段user1和user2对应的username呢? 而不是返回userid
解决方案 »
- varchar 转换为数据类型为 int 的列时发生语法错误
- 在网上找的一个存储过程恢复数据库的,怎么我调用的时候恢复不过来数据呢
- 有一动态sql问题
- 要插入一条新记录,但不知道新记录的key是否存在。如何测出某个key已经存在了。
- sql查询器的奇怪问题
- 谁有更简单的代码?希望这个代码你没看晕
- 请教各位高手如下查询代码如何写----
- sql server 2000 开发版不能启动的问题
- 生成SQL SERVER 语句 :这是SQL SERVER难题吗?要是的话,她将会成为SQL SERVER的经典难题
- 从今日开始起闭关,为期一月(zhuzhichao)
- 求个好像比较难的SQL
- 触发器问题,在线等
(select username from Table1 where userid=a.user1) ,
(select username from Table1 where userid=a.user2)
from
Table2 a
b.username,c.username
from
Table2 a
left join
Table1 b
on
a.user1=b.userid
left join
Table1 c
on
a.user2=c.userid
max(case a.user1 when b.userid then b.username end),
max(case a.user2 when b.userid then b.username end)
from
table2 a,table1 b
group by
a.user1,a.user2
(
[userid] [int] NULL,
[username] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]CREATE TABLE Table2(
[user1] [int] NULL,
[user2] [int] NULL
) ON [PRIMARY]insert into table1
Select 1,'01'
union all select 2,'02'insert into table2
Select 1,2
select b.username,c.username
from table2 a,table1 b,table1 c
where a.user1 = b.userid and
a.user2 = c.useriddrop table table1
drop table table2
User2=(SELECT UserName FROM table1 WHERE userID=user2) FROM table2
或
SELECT x.UserName User1,y.UserName User2
FROM Table2 a
INNER JOIN Table1 x
ON x.UserID=a.User1
INNER JOIN Table1 y
ON y.UserID=a.User2