| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 489 人关注过本帖
标题:[求助]SQL的语句问题~~~~~~~~~~~~~~~~
只看楼主 加入收藏
ASP汽车
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2007-7-4
收藏
 问题点数:0 回复次数:6 
[求助]SQL的语句问题~~~~~~~~~~~~~~~~
有两张表
需求单主表 表一:REQUIRE_BILL
字段名 类型 说明 关键字
ID Float(8) 流水号
FLOWSN Float(8) OA流水号
IT_NO Nvarchar(20) 需求单号 Y
CODE Nvarchar(50) 需求分类代码
APPLY_DEPARTMENT Nvarchar(50) 需求单位
APPLIER Nvarchar(10) 需求提出人
MAJOR_IDEA Nvarchar(50) 需求主旨
APPLY_TIME Datetime 需求提出日期
WISH_FINISH_TIME Datetime 希望上线日期
FINISH_TIME Datetime 实际上线日期
IT_UNDERTAKER Nvarchar(10) 实施承办
HANDLE_METHOD Ntext(16) 处理方法
Problem Ntext(16) 现有问题
REMARK Ntext(16) 未来作法
MENO Nvarchar(150) DELAY说明
BENIFIT money 最终效益
BENTFIT Float(8) 效益工时
BENMFIT Float(8) 效益金额
BENEFIT Float(8) 效益说明
TOTESTTIME Datetime 总预估完成日期
STARTTIME Datetime 开始实施日期
AffirmTime Datetime 用户确认日期
AffirmType char(10) 用户测试结果
AffirmMeno Nvarchar(50) 用户确认说明
RequireDate Datetime 需求分析完成
AnalysDate Datetime 系统分析完成
CodeDate Datetime 开发完成日期
TestDate Datetime 测试完成日期
Phase Nvarchar(20) 目前进行阶段
PhaseNarrate Nvarchar(20) 目前阶段说明

需求单从表 表二:REQUIRE_ESTI

字段名 类型 说明 关键字
ID Float(8) 流水号 Y
IT_NO Nvarchar(20) 需求单号 与REQUIRE_BILL中的IT_NO对应
EVALUATEMEMBER Nvarchar(20) 评估人
EVALUATETYPE Nvarchar(50) 评估面
FEASIBILITY Ntext(16) 可行性分析
REQUIREHOUR Float(8) 需求确认工时
ANALYSEHOUR Float(8) 系统分析工时
CODEHOUR Float(8) 系统开发工时
TESTHOUR Float(8) 系统测试工时
ESTIMATETIME Datetime 预估完成日期
PHASE Nvarchar(20) 目前进行阶段
Estitime Datetime 评估时间

我要查询APPLY_DEPARTMENT,MAJOR_IDEA,IT_UNDERTAKER,TOTESTTIME,RequireDate,AnalysDate,CodeDate,TestDate,FINISH_TIME还有
最重要的一个是REQUIRE_ESTI表中,同一个IT_NO可能有多个评估面,那我要查出Estitime中最大的

怎么写
sql="select APPLY_DEPARTMENT,MAJOR_IDEA,IT_UNDERTAKER,TOTESTTIME,RequireDate,AnalysDate,CodeDate,TestDate,FINISH_TIME,max(EstiTime) as (EstiTime) from songzw.REQUIRE_BILL inner join REQUIRE_ESTI on songzw.REQUIRE_BILL.IT_NO=REQUIRE_ESTI.IT_NO where 1=1"

我这样写可是不对啊
搜索更多相关主题的帖子: SQL 语句 
2007-07-18 13:08
ih_ks
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2007-1-1
收藏
得分:0 
sql="select APPLY_DEPARTMENT,MAJOR_IDEA,IT_UNDERTAKER,TOTESTTIME,RequireDate,AnalysDate,CodeDate,TestDate,FINISH_TIME,max(EstiTime) as (EstiTime) from songzw.REQUIRE_BILL inner join REQUIRE_ESTI on songzw.REQUIRE_BILL.IT_NO=REQUIRE_ESTI.IT_NO where 1=1"这个是什么????




sql="select APPLY_DEPARTMENT,MAJOR_IDEA,IT_UNDERTAKER,TOTESTTIME,RequireDate,AnalysDate,CodeDate,TestDate,FINISH_TIME,max(EstiTime) as (EstiTime)
From REQUIRE_BILL RB,REQUIRE_ESTI RB
Where RB.IT_NO=RE.IT_NO

这样试一下...不过因为你没用创建主/外键...有可能出现笛卡儿积现象....

[此贴子已经被作者于2007-7-18 15:15:16编辑过]

2007-07-18 15:14
盖世豪侠
Rank: 1
等 级:新手上路
威 望:1
帖 子:444
专家分:0
注 册:2007-7-15
收藏
得分:0 
1=1"这个是什么????
他是想合并这两个表 WHERE IT_NO=IT_NO

[flash][/flash]
2007-07-18 15:21
ih_ks
Rank: 1
等 级:新手上路
帖 子:182
专家分:0
注 册:2007-1-1
收藏
得分:0 

两个表的关联语句应该放在WHERE后面...怎么你放在前面?你那个是ACCESS生成的吧...

2007-07-18 15:31
ASP汽车
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2007-7-4
收藏
得分:0 
我是用SQL

学习ASP中.....难啊......
2007-07-18 15:51
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 

有没有什么报错信息?还是你搜索出来的结果不对?
where 1=1只是为了搜索出所有数据,因为1=1,换成2=2也一样的.
sql="select APPLY_DEPARTMENT,MAJOR_IDEA,IT_UNDERTAKER,TOTESTTIME,RequireDate,AnalysDate,CodeDate,TestDate,FINISH_TIME,max(EstiTime) as (EstiTime) from songzw.REQUIRE_BILL inner join REQUIRE_ESTI on songzw.REQUIRE_BILL.IT_NO=REQUIRE_ESTI.IT_NO where 1=1"
songzw是什么?

sql ="select APPLY_dEPARTMENT,MAJOR_IDEA,IT_UNDERTAKER,TOTESTTIME,RequireDate,AnalysDate,CodeDate,TestDate,FINISH_TIME from REQUIRE_BILL WHERE IT_NO IN (select IT_NO from REQUIRE_ESTI order by EstiTime desc)"
试试这样行不行?

2007-07-18 15:52
ASP汽车
Rank: 1
等 级:新手上路
帖 子:197
专家分:0
注 册:2007-7-4
收藏
得分:0 

搞定啦,贴出来让大家看看 songzw是用户名,不要也可以啦
sql="SELECT songzw.Require_Bill.Apply_Department, songzw.Require_Bill.Major_Idea, songzw.Require_Bill.IT_Undertaker,songzw.Require_Bill.RequireCheckDate,songzw.Require_Bill.DealCheckDate, songzw.Require_Bill.TOTESTTIME, songzw.Require_Bill.RequireDate, songzw.Require_Bill.AnalysDate, songzw.Require_Bill.CodeDate, songzw.Require_Bill.TestDate,songzw.Require_Bill.Finish_Time, ss.ESTItime FROM songzw.Require_Bill INNER JOIN (SELECT IT_NO, MAX(ESTItime) AS ESTItime FROM REQUIRE_ESTI GROUP BY IT_NO) ss ON songzw.Require_Bill.FLOWSN = ss.IT_NO where 1=1"


学习ASP中.....难啊......
2007-07-19 10:34
快速回复:[求助]SQL的语句问题~~~~~~~~~~~~~~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017112 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved