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'
)这是我的查询,它的工作fine.But我需要获取其他信息。我不知道如何将其添加到现有查询中。
例如,除了grpo发布日期,GRPO Num,CardName,我需要获取我在子查询中使用的odln.docnum,odln.docduedate。
请帮助我修改此查询或具有该要求的任何新查询。
发布于 2016-04-19 11:12:38
您需要的是odln的INNER JOIN
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'注意:
WHERE子句中的列上使用函数,因为这会使查询不可用。在您的情况下,您可以编写年份(T0.DocDate)= '2016'`
作为
T0.DocDate >= '20160101‘和T0.DocDate < '20170101'
https://stackoverflow.com/questions/36707803
复制相似问题