Я использовал DATEDIFF, чтобы различать, когда была создана первая ставка единицы, а дата проводки - когда была отправлена первая транзакция этого элемента. У меня есть результат, который мне нужен, однако функция DateDiff дает мне NULL значения, начиная дату для некоторых строк.DATEDIFF, отображающий нулевые значения
SELECT DISTINCT b.[Entry No_] ,
a.[Starting Date],
b.[Posting Date],
b.[Item No_],
b.[Invoiced Quantity],
a.[Litre Conversion Factor],
a.[Unit Rate] ,
b.[Location Code],
a.[Excise Location],
a.[Excise Type Code],
a.[Unit Of Measure Code]
FROM [Spier Live$Value Entry] b
LEFT JOIN [Transfer Excise Tbl] a
ON a.[No_] = b.[Item No_]
AND b.[Location Code] = a.[Location Code]
AND DateDiff(y,b.[Posting Date],a.[Starting Date]) > -365 --DateDiff Year -365 for starting date
AND DateDiff(y,b.[Posting Date],a.[Starting Date]) < 0 --DateDiff Yer < 0 for posting date
WHERE b.[Posting Date] > '2013-02-26' --This is when the unit rate was entered
AND b.[Gen_ Bus_ Posting Group] IN ('LOCA','EXSA')
AND b.[Invoiced Quantity] <>0 --Removing all zero values
AND b.[Item No_] = 'F00335'
ORDER BY b.[Posting Date]
Transfer Excise Tbl Это таблица Я присоединяюсь на
какой дата разница вы используете? ... годы или дни –
Если в таких случаях какая-либо из ваших дат «null», это абсолютно правильное поведение. Что еще это может показать? @alex Он говорит, что прямо там. –
@alex, я использую годы – user2941071