SELECT B.JIGYOUSHO_C JIGYOUSHO_C,
B.KANJOU_C KANJOU_C,
B. YOKO_C YOKO_C,
B.GENKABUMON_C GENKABUMON_C ,
B.TATEYABUMON_C TATEYABUMON_C,
B.SAKUBAN SAKUBAN,
B.UKEBAN UKEBAN,
B.SAKUBANEDABAN SAKUBANEDABAN,
B.BIKOU BIKOU,
B.SYUKKA_SIJIBI ,
B.TEHAISURYO ,
B.SHIKOMITEHAI ,
……………………………………
MAX(KEI.END_T) END_T
FROM DAT_MCL_TEHAI B,
KEI_COM_FU001 KEI
WHERE B.JIGYOUSHO_C = KEI.KOJOUCODE(+)
AND B.KANJOU_C = KEI.KANJYO_C(+)
AND B.YOKO_C = KEI.YOKO_C(+)
AND B.GENKABUMON_C = KEI.BUMON_C(+)
AND B.TATEYABUMON_C = KEI.TATEYA_C(+)
AND B.SAKUBAN = KEI.SKBN(+)
GROUP BY B.JIGYOUSHO_C ,B.KANJOU_C ,B.YOKO_C,B.GENKABUMON_C,
B.TATEYABUMON_C, B.SAKUBAN,B.UKEBAN,
B.SAKUBANEDABAN,B.BIKOU,B.SYUKKA_SIJIBI ,B.TEHAISURYO,
B.SHIKOMITEHAI…………
B表中很多字段都有用,我想用SELECT B.*,MAX(KEI.END_T) END_T 但是GROUP BY后面怎么写能简便?
B.KANJOU_C KANJOU_C,
B. YOKO_C YOKO_C,
B.GENKABUMON_C GENKABUMON_C ,
B.TATEYABUMON_C TATEYABUMON_C,
B.SAKUBAN SAKUBAN,
B.UKEBAN UKEBAN,
B.SAKUBANEDABAN SAKUBANEDABAN,
B.BIKOU BIKOU,
B.SYUKKA_SIJIBI ,
B.TEHAISURYO ,
B.SHIKOMITEHAI ,
……………………………………
MAX(KEI.END_T) END_T
FROM DAT_MCL_TEHAI B,
KEI_COM_FU001 KEI
WHERE B.JIGYOUSHO_C = KEI.KOJOUCODE(+)
AND B.KANJOU_C = KEI.KANJYO_C(+)
AND B.YOKO_C = KEI.YOKO_C(+)
AND B.GENKABUMON_C = KEI.BUMON_C(+)
AND B.TATEYABUMON_C = KEI.TATEYA_C(+)
AND B.SAKUBAN = KEI.SKBN(+)
GROUP BY B.JIGYOUSHO_C ,B.KANJOU_C ,B.YOKO_C,B.GENKABUMON_C,
B.TATEYABUMON_C, B.SAKUBAN,B.UKEBAN,
B.SAKUBANEDABAN,B.BIKOU,B.SYUKKA_SIJIBI ,B.TEHAISURYO,
B.SHIKOMITEHAI…………
B表中很多字段都有用,我想用SELECT B.*,MAX(KEI.END_T) END_T 但是GROUP BY后面怎么写能简便?
解决方案 »
- 64位 windows 2003 server,xeon处理器,按照什么版本的oracle数据库好?
- 请教PLSQL的如何书写
- 交叉表 老问题!
- PL/SQL与Source Safe 同步的插件哪里有下,谢谢!
- 数据库保存空格显示?问题
- 包和包中的信息存储在哪个表中,我想获得详细信息,包括包里面的数值类型定义,比如说定义了一个游标。
- enterprise manager console 的两种登陆方式有什么区别
- 取表前5条记录,oracle的sql语句怎么写?
- 请帮帮我!
- 寻SQL
- ===***====菜鸟提问:三个表之间的运算.请指点.解决就给分==***===
- 在做查询的时候,where a.id *=b.id是什么意思,请指教!
std::stringstream ss_group;
ss_group<<"B.JIGYOUSHO_C,"<<"B.KANJOU_C ,"<<...;
std::stringstream ss_sql;
ss_sql<<"select "<<ss_group.str()<<" MAX(KEI.END_T) END_T"<<...;
ss_sql<<" group by "<<ss_group.str()<<...;
SELECT B.JIGYOUSHO_C JIGYOUSHO_C,
B.KANJOU_C KANJOU_C,
B. YOKO_C YOKO_C,
B.GENKABUMON_C GENKABUMON_C ,
B.TATEYABUMON_C TATEYABUMON_C,
B.SAKUBAN SAKUBAN,
B.UKEBAN UKEBAN,
B.SAKUBANEDABAN SAKUBANEDABAN,
B.BIKOU BIKOU,
B.SYUKKA_SIJIBI ,
B.TEHAISURYO ,
B.SHIKOMITEHAI ,
……………………………………
MAX(KEI.END_T)over() END_T ------改了这里.
FROM DAT_MCL_TEHAI B,
KEI_COM_FU001 KEI
WHERE B.JIGYOUSHO_C = KEI.KOJOUCODE(+)
AND B.KANJOU_C = KEI.KANJYO_C(+)
AND B.YOKO_C = KEI.YOKO_C(+)
AND B.GENKABUMON_C = KEI.BUMON_C(+)
AND B.TATEYABUMON_C = KEI.TATEYA_C(+)
AND B.SAKUBAN = KEI.SKBN(+)
你还是老老实实那么写好了.
其实我还是有疑问,如果你表中没有重复记录,分组以后每一条都是一定的,有多少记录就分多少组.它所得到的最大值和最小值都是一样的了.