简单sql语句问题请教

zxlh 2003-11-27 11:30:04
我有
一个用户信息表 里面有“用户编号”,每个“用户编号”都是唯一的,比如:
hbj01
一个订单表,里面纪录客户消费信息
每个“订单编号”也是唯一的hbj01030702-1
“订单编号”前5位是用户编号
现在我想查出用户的消费信息怎么写SQL语句?
...全文
58 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sjjf 2003-11-27
  • 打赏
  • 举报
回复
嗯,不同的数据库采用的取子串的函数是不一样的。
shleo 2003-11-27
  • 打赏
  • 举报
回复
sqlserver 用上面的left
oracle 用 substr(b.订单编号,1,5)
zxlh 2003-11-27
  • 打赏
  • 举报
回复
谢谢各位,分开写是原因的!
晚上下班结贴!
jeffrywang 2003-11-27
  • 打赏
  • 举报
回复
最好能够分开,我们应该尽量利用数据库的作用,而不是让程序的复杂度提高
monkeys 2003-11-27
  • 打赏
  • 举报
回复
select b.* from [用户信息表] a, [消费信息表] b
where left(b.订单编号,5)=a.用户编号

虽然可以查出结果,但是数据表设计不太合理。你将订单编号和用户编号分成2个字段存储在消费信息表中应该更合理,对于你数据操作方面也更方便。
jobine 2003-11-27
  • 打赏
  • 举报
回复
select b.* from [用户信息表] a, [消费信息表] b
where left(b.订单编号,5)=a.用户编号

虽然可以查出结果,但是数据库设计确实不够合理。将订单编号和用户编号分成2个字段存储在消费信息表中似乎更合理。
lovehwq21 2003-11-27
  • 打赏
  • 举报
回复
既然你的用户编号跟订单编号都是唯一的,干脆把订单编号改为用户编号,或者在客户消费表上加多个用户编号的字段,两个表就直接关联起来了,不是更好吗
adalp 2003-11-27
  • 打赏
  • 举报
回复
select b.* from [用户信息表] a, [消费信息表] b
where left(b.订单编号,5)=a.用户编号

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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