Для моего проекта мы используем MS SQL 2008. В подзапросе мне нравится искать в предложении WHERE до последнего дня текущего (в цикле SQL) года. Это должно быть примерно так:SQL WHERE date частично поле и частично предопределенная строка
WHERE datefieldsubquery = currentyearparentquery+'-12-31 23:59:00'
Но в подзапросе нет результата при использовании этого. Например, при запросе:
WHERE datefieldsubquery = '2014-12-31 23:59:00'
запрос возвращает результат. Мне нравится, что '2014' динамически унаследован от родительского запроса. Это возможно в SQL?
- изменение - Оба поля являются датами.
Реальный полный запрос:
SELECT factuurregel.[Internal costkind] AS code,
COUNT(factuurregel.[Internal costkind]) AS total,
YEAR(factuurregel.[Invoice date lease company]) AS maand,
(
SELECT COUNT(leasecontract.[Contract Ending Date]) AS autos
FROM [test$Lease Contract] AS leasecontract
WHERE (leasecontract.[Status] = '0' OR leasecontract.[Status] = '1')
AND YEAR(leasecontract.[Contract Activation Date]) <= YEAR(factuurregel.[Invoice date lease company])
AND (YEAR(leasecontract.[Contract Ending Date]) > YEAR(factuurregel.[Invoice date lease company])
OR leasecontract.[Contract Ending Date] = '1753-01-01 00:00:00')
) AS autos
FROM [test$Invoice line] AS factuurregel
LEFT JOIN [test$Lease Car] AS leasecar ON factuurregel.[License No_] = leasecar.[License No_]
WHERE factuurregel.[Internal costkind] >= '200'
AND factuurregel.[Internal costkind] < '300'
AND (leasecar.[Licence Type] = 1 OR leasecar.[Licence Type] = 2)
GROUP BY YEAR(factuurregel.[Invoice date lease company]),factuurregel.[Internal costkind]
ORDER BY factuurregel.[Internal costkind]
Как насчет 'WHERE год (datefieldsubquery)
Каковы ваши типы данных? Является ли datefieldsubquery датой? Дата и время? VARCHAR? Является ли currentyearparentquery целочисленным? VARCHAR? То, что вы просите, возможно, но нам нужно больше деталей, чтобы помочь вам. –
Что представляет собой текущий запрос в вашем запросе? –