求一个Sql语句关于多表连接的问题!!

lutaotony 2009-08-12 04:20:48
用户表users
user_id(用户id) login_name(用户名)
1 aaa
2 bbb
3 ccc
销售表sales
log_id(日志) buy_user_id(购买用户) sale_user_id(出售用户)
1 1 0(表示系统)
2 2 1
3 3 1
4 2 0

想通过login_name="系统"查出来的效果是这样的
日志 购买用户 出售用户
1 aaa 系统
2 bbb 系统
我自己写的但是有问题,请教!!!
select a.log_id ,b.login_name,c.login_name from sales a
join users b on a.buy_user_id = b.user_id left join a.sale_user_id =c.user_id and c.login_name="系统"
...全文
182 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lutaotony 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mbh0210 的回复:]
SQL codeselect sales.log_id,users.login_nameas name1,a.login_nameas name2from salesinnerjoin userson users.user_id= sales.buy_user_idinnerjoin users aon a.user_id= sales.sale_user_idwhere a.login_name¡­
[/Quote]
我试过了,没有效果呵呵。
lutaotony 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyi8808 的回复:]
SQL codeselect a.log_idas 日志, b.login_nameas 购买用户,'系统'as 出售用户from sales aleftjoin users bon a.buy_user_id=b.user_idwhere a.sale_user_id=0
[/Quote]
我主要是从文本框输入"系统"或者"aaa"这样的查询。主要是文本类型的。
lutaotony 2009-08-12
  • 打赏
  • 举报
回复
先谢谢大家了,因为我这个还要用到拼接sql语句,所以还在测试。会很快给大家加分的。
mbh0210 2009-08-12
  • 打赏
  • 举报
回复

select sales.log_id,users.login_name as name1,a.login_name as name2 from sales
inner join users on users.user_id = sales.buy_user_id
inner join users a on a.user_id = sales.sale_user_id
where a.login_name = '系统'


wuyi8808 2009-08-12
  • 打赏
  • 举报
回复
select
a.log_id as 日志,
b.login_name as 购买用户,
case a.sale_user_id when 0 then '系统' else c.login_name end as 出售用户
from sales a
left join users b on a.buy_user_id=b.user_id
left join users c on a.sale_user_id=c.user_id
where a.sale_user_id=0
wuyi8808 2009-08-12
  • 打赏
  • 举报
回复
select a.log_id as 日志, b.login_name as 购买用户, '系统' as 出售用户
from sales a
left join users b on a.buy_user_id=b.user_id
where a.sale_user_id=0

110,502

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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