加入三个查询,将结果从一个传递到下一个

时间:2017-03-10 15:10:11

标签: mysql sql-server

我已经查看了其他问题,我不确定这与之前提出的问题是一样的。

基本上,我连续三次查询。查询1结果传递给查询2,查询2结果传递给查询3,并将查询3结果写入文件。

'select convert(char(10),max(paydate),101) from DATA.dbo.payment where status like 'PAID%'
'select distinct groupkey from  custom.dbo.ediX091Header_abc where CheckIssue  = '<results from query 1>' and status = 'Go'
'select max(GroupKey) from dbo.ediFuncGroup_abc' where GroupKey = '<results from query 2>'

将查询3中的任何结果写入输出文件。

提前致谢

1 个答案:

答案 0 :(得分:1)

您不需要一个接一个地运行所有三个查询。您可以非常轻松地从第二个和第三个查询中加入表。然后使用第一个查询作为子查询来过滤结果。这样的事情。

select MAX(GroupKey)
from dbo.ediFunctionGroup_abc fc
join custom.dbo.ediX091Header_abc h on h.GroupKey = fc.GroupKey 
where h.status = 'Go'
    and h.CheckIssue = (select CONVERT(char(10), max(paydate)) from DATA.dbo.payment where status like 'PAID%')