关于MAX这个SQL函数....(100分)

  • 主题发起人 主题发起人 cAkk
  • 开始时间 开始时间
C

cAkk

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个table有a1,a2,a3,a4等4个integer型字段,现要求:
如何用max这个函数在<font color=red><strong>一条SQL语句</strong></font>中求出四个字段的公共的最大值.
 
没人回答?
 
这样行不:
select max(*) from
select max(a1),max(a2),max(a3),max(a4) from table
 
试过了,说"from子句错误"
 
试了一下,果然不行!
我再想想。
 
select max(x) from
(select a1 x from table
union
select a2 x from table
union
select a3 x from table
union
select a4 x from table)

好象行是行﹐就是又笨又慢﹐
有更好的嗎﹖
 
用union好像不带普遍性,有的数据库不支持union.
 
请继续,看有没有更好的办法...
 
Teikini的办法不行,错误信息通上.

BTW:我用的是Access97.
 
呵呵, 不知道access支不支持procedure, 好象只能用stored procedure才行,
一句sql, 没办法:-(
 
你用什么玩意连access的?
如果是BDE, 那么from子句可以是个.QBE文件(或者.SQL).

呵呵, 我在EX-EX上看到过. 实际上.SQL文件就是个文本文件, 包含一句SQL语句.

真没想到BDE可以实现QUERY ON QUERY.
 
to cytown: 存储过程怎做? (万一我以后升级到sql server呢? :-)
 
我用ODBC直接连.
 
不用存储过程. 只要两句就可以, 先create个view把这些字段合成到一个字段中(可以用union), 然后select from 这个view.
难做主要是因为sql规定from只能是table或者view, 不能是子查询.

现在发觉BDE真不错. 除了异构查询它竟然还能在query的结果上继续用
SQL进一步查询.
 
对了, 那些ODBC构件支持一句select中跨服务器吗?
 
哪位有这种odbc构件给我一个?
 
ODBC肯定不会支持,因为这样的程序无法移植.
 
无法移植指的是?
 
不是每种数据库都支持"一句select中跨服务器"的吧?
 
我指的是异构查询的一种.
用两个database分别连两个server, 用一句sql从两个server上提取数据.
有这种ODBC控件吗? 这好象和数据库没多大关系吧?
 
后退
顶部