select
T0.DocDate as [GRPO Posting Date],
T0.DocNum as [GRPO Num]
,T0.CardName
from OPDN T0
where
year(T0.DocDate) ='2016'
and (dateadd(day, 1, T0.DocDate) in (
select odln.DocDueDate
from odln
where year(DocDueDate) = '2016'
)
这是我的查询工作正常。但我需要获取其他信息。我不知道如何将其添加到现有查询中。
例如除了grpo发布日期,GRPO Num,CardName,我需要获取我在子查询中使用的odln.docnum,odln.docduedate。
请帮我修改此查询或任何有此要求的新查询。
答案 0 :(得分:1)
您想要的是{
"query": {
"match" : {
"attribute" : "postfix"
}
}
}
到INNER JOIN
:
odln
注意:
避免在SELECT
T0.DocDate AS [GRPO Posting Date],
T0.DocNum AS [GRPO Num],
T0.CardName,
T1.DocNum,
T1.DocDueDate
FROM OPDN T0
INNER JOIN odln t1
ON DATEADD(DAY, 1, T0.DocDate) = T1.DocDueDate
WHERE
T0.DocDate >= '20160101' AND T0.DocDate < '20170101'
AND T1.DocDueDate >= '20160101' AND T1.DocDueDate < '20170101'
子句中的列上使用函数,因为它使您的查询不具有SARGable。在您的情况下,您可以写
WHERE
作为
YEAR(T0.DocDate) = '2016'`