Sql server 最大SQL查询澄清

Sql server 最大SQL查询澄清,sql-server,Sql Server,我有以下几张桌子 Table1 DATE |TASK |APPROVAL|PROD_ID 1/02/2018 | 1 |xyz |MT TABLE2 DATE |TASK |APRROVAL|PROD 1/02/2018| 2 |xyz |SS 1/02/2018| 3 |xyz |TT 1/02/2018| 4 |xyz |MT 我只需要获得一个最大任务,但下面是我的查询返回的

我有以下几张桌子

Table1          
DATE      |TASK |APPROVAL|PROD_ID
1/02/2018 | 1   |xyz     |MT

TABLE2          
DATE     |TASK  |APRROVAL|PROD
1/02/2018|  2   |xyz     |SS
1/02/2018|  3   |xyz     |TT
1/02/2018|  4   |xyz     |MT
我只需要获得一个最大任务,但下面是我的查询返回的所有结果

select max(table2.task),table1.date,table1.prod_id from table1
join table2 on table1.approval=table2.aprroval
group by table1.date,table1.prod_id

但是我得到了所有的唱片

听起来你想要的

select top (1) table2.task, table1.date,table1.prod_id from
 table1 join table2 on table1.approval=table2.aprroval
 Order by table2.task
编辑

我正确地重读了你的问题,试试这个

select top(1) from 
(
   select * from table1
union all
   select * from table2
) as t
order by t.date

检查这个-。从表1中选择maxtable2.task,table1.date,table1.prod_id加入表1上的表2.approval=table2.Aproval和table1.prod_id=table2.prod group by table1.date,table1.prod_id谢谢,但有时表2审批栏为空。使用此选项选择maxtable2.task,table1.date,table1.prod_id来自table1连接table1上的table2.approval=table2.aproval和table1.prod_id=table2.prod或table2.prod按table1分组为空。date,table1.prod_idsorry,我仍然得到4条记录扫描您使用DDL共享两个表中的少量记录。和您需要的输出。谢谢,我正在使用此选择插入到另一个表中,table2.task是第3列插入*到wf_流选择table1.date,table1.prod_id,top 1 table2.task从table1加入table1上的table2.approval组按table1.date,table1.prod_id在关键字“top”附近获取错误语法时出错。忘记括号-如果幸运的话,它应该是TopN,通过删除组并将其更改为order by修复了它。并获取所需的输出。这没有帮助,但是我修改了我的查询,如下所示:select ms.task,ms.date from table1 join select maxtable2.task,table2.email group by table2.email-->当我通过电子邮件分组时,返回多条记录,而不是最高记录,因为电子邮件是必需的最新表格1。任务=最新。任务仍然是我获取所有记录,而不是最新记录