SELECT T_USERS.USERNAME AS 医生姓名,T_OFFICE.OFFICE AS 科室,T_REGISTER_INFO.REGISTERID AS 挂号号,T_PATIENT_INFO.PATIENTNAME AS 病人姓名,
T_REGISTER_INFO.REGISTERFEE AS 挂号费,T_REGISTER_INFO.EXAMINEMONEY AS 诊金,T_OPERATOR.OPERATORNAME AS 操作员,T_REGISTER_INFO.OPERATEDATE
AS 操作时间,T_REGISTER_INFO.CANCELMARK AS 退费标识
FROM
T_OFFICE,T_PATIENT_INFO,T_USERS,T_REGISTER_INFO,T_OPERATOR
WHERE
T_USERS.OfficeID=T_OFFICE.OfficeID
AND T_REGISTER_INFO.DoctorID=T_USERS.UserID
AND T_REGISTER_INFO.DiagnoseID=T_PATIENT_INFO.DiagnoseID
AND T_REGISTER_INFO.OperatorID=T_OPERATOR.OperatorID
AND T_REGISTER_INFO.CANCELMARK=0
GROUP BY
T_REGISTER_INFO.OPERATEDATE
--------------------------------------
按照T_REGISTER_INFO.OPERATEDATE分组,这个是时间格式,有重复的值,要显示不同表里的个别字段,就是上面要显示的字段
要过滤掉重复的T_REGISTER_INFO.OPERATEDATE字段的值。SQL语句完整的应该怎么写。帮忙!
T_REGISTER_INFO.REGISTERFEE AS 挂号费,T_REGISTER_INFO.EXAMINEMONEY AS 诊金,T_OPERATOR.OPERATORNAME AS 操作员,T_REGISTER_INFO.OPERATEDATE
AS 操作时间,T_REGISTER_INFO.CANCELMARK AS 退费标识
FROM
T_OFFICE,T_PATIENT_INFO,T_USERS,T_REGISTER_INFO,T_OPERATOR
WHERE
T_USERS.OfficeID=T_OFFICE.OfficeID
AND T_REGISTER_INFO.DoctorID=T_USERS.UserID
AND T_REGISTER_INFO.DiagnoseID=T_PATIENT_INFO.DiagnoseID
AND T_REGISTER_INFO.OperatorID=T_OPERATOR.OperatorID
AND T_REGISTER_INFO.CANCELMARK=0
GROUP BY
T_REGISTER_INFO.OPERATEDATE
--------------------------------------
按照T_REGISTER_INFO.OPERATEDATE分组,这个是时间格式,有重复的值,要显示不同表里的个别字段,就是上面要显示的字段
要过滤掉重复的T_REGISTER_INFO.OPERATEDATE字段的值。SQL语句完整的应该怎么写。帮忙!
其他的字段不会都是重复的吧?
类似与我的帖子,也许可以作为参考!!!
SELECT max(T_USERS.USERNAME) AS 医生姓名,max(T_OFFICE.OFFICE) AS 科室,max(T_REGISTER_INFO.REGISTERID) AS 挂号号,max(T_PATIENT_INFO.PATIENTNAME) AS 病人姓名,
max(T_REGISTER_INFO.REGISTERFEE) AS 挂号费,max(T_REGISTER_INFO.EXAMINEMONEY) AS 诊金,max(T_OPERATOR.OPERATORNAME) AS 操作员,T_REGISTER_INFO.OPERATEDATE
AS 操作时间,max(T_REGISTER_INFO.CANCELMARK) AS 退费标识
FROM
T_OFFICE,T_PATIENT_INFO,T_USERS,T_REGISTER_INFO,T_OPERATOR
WHERE
T_USERS.OfficeID=T_OFFICE.OfficeID
AND T_REGISTER_INFO.DoctorID=T_USERS.UserID
AND T_REGISTER_INFO.DiagnoseID=T_PATIENT_INFO.DiagnoseID
AND T_REGISTER_INFO.OperatorID=T_OPERATOR.OperatorID
AND T_REGISTER_INFO.CANCELMARK=0
GROUP BY
T_REGISTER_INFO.OPERATEDATE
(SELECT T_USERS.USERNAME AS 医生姓名,T_OFFICE.OFFICE AS 科室,T_REGISTER_INFO.REGISTERID AS 挂号号,T_PATIENT_INFO.PATIENTNAME AS 病人姓名,
T_REGISTER_INFO.REGISTERFEE AS 挂号费,T_REGISTER_INFO.EXAMINEMONEY AS 诊金,T_OPERATOR.OPERATORNAME AS 操作员,T_REGISTER_INFO.OPERATEDATE
AS 操作时间,T_REGISTER_INFO.CANCELMARK AS 退费标识
FROM
T_OFFICE,T_PATIENT_INFO,T_USERS,T_REGISTER_INFO,T_OPERATOR
WHERE
T_USERS.OfficeID=T_OFFICE.OfficeID
AND T_REGISTER_INFO.DoctorID=T_USERS.UserID
AND T_REGISTER_INFO.DiagnoseID=T_PATIENT_INFO.DiagnoseID
AND T_REGISTER_INFO.OperatorID=T_OPERATOR.OperatorID
AND T_REGISTER_INFO.CANCELMARK=0)select 医生姓名,科室,挂号号,病人姓名,挂号费,诊金,操作员,操作时间,退费标识 from #j where ID in (select min(ID)ID from #j group by 操作时间)
select *,ID=identity(int,1,1) into #j from
能解释一下吗?