表的自连接问题,请教各位大侠!

望京最帅程序猿 2009-05-20 09:10:29
有这样一个表WorkOrder,结构如下
min_no varchar(10), //表单No
max_no varchar(10), //值类型
max_val varchar(100) //实际值

数据如下:
min_no max_no max_val
130523 18870 电气
130523 18871 1A磨煤机
130523 18872 2009-03-12
130523 18873 张明
130523 18874 夜班
130524 18870 电气
130524 18871 1A磨煤机
130524 18872 2009-03-13
130524 18873 张明
130524 18874 夜班
130525 18870 电气
130525 18871 1A磨煤机
130525 18872 2009-03-14
130525 18873 张明
130525 18874 夜班

我想根据姓名(18873)=‘张明’和日期(18872)>'2009-3-1' 查这个表,怎么查!
select distinct a.min_no from WorkOrder a
inner join WorkOrder b on a.min_no = b.min_no and b.max_no='18872' and b.max_val>'2009-03-1'
inner join WorkOrder c on b.min_no = c.min_no and c.max_no='18873' and c.max_val='张明'

这样写对吗? 有更好的方法吗?
...全文
73 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
问题补充:
我就想查一个月内某人添了几张工单,在这个表里5条记录就是一个表单
我的SQL能实现吗?
hebo2005 2009-05-20
  • 打赏
  • 举报
回复
你想要什么的结果
你这样自联接语法是没什么问题,但不知道是不是你想的结果,要根据你想要的结果,来看是不是有更合适的方法

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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