求最效率的SQL查询语句写法  SQL2000表1:A
字段:ID NAME DATE TEMPID表2: B
字段:ID NAME DATE TEMPID用一条语句查询:
求表A和B中 DATE符合当天日期,NAME符合“张三” ,TEMPID最大的那条记录因为数据量大,所以希望求效率的写法

解决方案 »

  1.   


    select Max(MaxTEMPID) From
    (
    select Max(TEMPID) as MaxTEMPID from A where NAME ='张三' and DATE=[参数传]
    union
    select Max(TEMPID) as MaxTEMPID from B where NAME ='张三' and DATE=[参数传]
    )
      

  2.   

    DATE

    NAME 
    加索引
      

  3.   

    select Max(MaxTEMPID) From
    (
    select Max(TEMPID) as MaxTEMPID from A where NAME ='张三' and DATE=[参数传]
    union
    select Max(TEMPID) as MaxTEMPID from B where NAME ='张三' and DATE=[参数传]
    )as tmptabsorry
      

  4.   


    select Max(MaxTEMPID) as id From
    (
    select Max(ID) as MaxTEMPID from Table_1 where NAME ='张三' and DATE=''
    union
    select Max(ID) as MaxTEMPID from Table_2 where NAME ='张三' and DATE=''
    ) as t
    不可能有问题,我这里ok
      

  5.   

    如果表A和表B有关系:
    select top1 * from A where name where NAME ='张三' and DATE='...' order by TEMPID DESC
    union
    select top1 * from B where name where NAME ='张三' and DATE='...' order by TEMPID DESC