求SQL语句

ifengfeng 2003-02-08 04:44:26
表1字段
id
userid1
userid2
counter

表2字段
id
userid
username

表2的username是表1的userid1和userid2的对应名字
现在需要将表一某记录的userid1和userid2的对应username区出来,如何实现?

select t1.*,t2.username from table1 t1 left join table2 t2 on t1.userid=t2.userid

只能获得userid1的对应...

...全文
17 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ifengfeng 2003-02-08
  • 打赏
  • 举报
回复
OK,linixon() 的方法晒为改变即可实现恩。

select t1.id,t2.username,t3.username from t1 left join t2 on t1userid=t2.userid left join t2 t3 on t1.userid=t3.userid

就是虚拟一个t2(即t3)就可以实现了,嘻嘻

谢谢各位,给分:)
linixon 2003-02-08
  • 打赏
  • 举报
回复
对不起,
输入错了,更正如下:

不过个人认为用二个TABLE实现不了这个功能,你还需要另一个TABLE,跟表2一样,仅是其COPY一份,内容格式全一样。
linixon 2003-02-08
  • 打赏
  • 举报
回复
好奇怪的要求。
不过个人认为用二个TABLE实现不了这个功能,你还需要另一个TABLE,跟表一样,仅是其COPY一份,内容格式全一样。

Select T1.id,T2.username,T3.username
From T1
Left Join T2
On T1.userid1=T1.userid
Left Join T3
On T1.userid2=T3.userid

不过建议再仔细考虑数据库的设计。
ifengfeng 2003-02-08
  • 打赏
  • 举报
回复
QQ:213099
ifengfeng 2003-02-08
  • 打赏
  • 举报
回复
表达力有限,比较难说明白...再看
比如
表1:
有一条记录:
ID userid1 userid2 ...
1 zhang li ...
2 zhang wang ...

表2:
ID userid username
1 zhang 张三
2 li 李四
3 wang 王五


我希望在列出表1的时候不显示userid1和userid2,而显示对应的username

最终执行结果应该是:

1 张三 李四 ...
2 张三 王五 ...
CrazyFor 2003-02-08
  • 打赏
  • 举报
回复
select a.*,(select username from tabel2 where userid=a.userid1) from tabel1 a
是这意思吗?
ifengfeng 2003-02-08
  • 打赏
  • 举报
回复
不知道是不是没说明白
比如
表1:
有一条记录:
ID userid1 userid2 ...
1 zhang li ...

表2:
ID userid username
1 zhang 张三
2 li 李四


我希望在列出表1的时候不显示userid1和userid2,而显示对应的username
ifengfeng 2003-02-08
  • 打赏
  • 举报
回复
恩?不成哦。
返回是NULL
CrazyFor 2003-02-08
  • 打赏
  • 举报
回复
select t1.*,t2.username from table1 t1 left join table2 t2 on t1.userid1+t1.userid2 =t2.username

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧