Oracle SQL LOOP(两个日期之间)和计数
Posted
技术标签:
【中文标题】Oracle SQL LOOP(两个日期之间)和计数【英文标题】:Oracle SQL LOOP (between 2 dates) and Counting 【发布时间】:2009-10-14 00:09:39 【问题描述】:我被 SQL 查询卡住了。
我有这张桌子:
[预留]
身份证号 START_DATE,日期 END_DATE,日期.......(更多列)
我需要查看 START_DATE 和 END_DATE 之间的任何日期(包括两者)的下一个计数是否大于 0。如果计数大于 0,则查询必须立即停止并以字符串形式返回“没有位置”。
SELECT Count(*)
FROM disponibilidad
JOIN estadia ON disponibilidad.identificador_estadia = estadia.identificador
WHERE estadia.identificador = 1
AND disponibilidad.numero_reservas > 500
【问题讨论】:
【参考方案1】:如果我理解正确,这应该可以:
SELECT 'There is no location'
FROM Reserve r
WHERE EXISTS (SELECT *
FROM disponibilidad
JOIN estadia
ON disponibilidad.identificador_estadia = estadia.identificador
WHERE estadia.identificador = r.ID
AND disponibilidad.numero_reservas > 500
AND disponibilidad.date BETWEEN r.StartDate AND r.EndDate)
AND r.ID = 1
由于您没有指定表与查询中涉及的表之间的关系,我猜想。而且我可能猜错了。这就是人生。 :)
【讨论】:
我根据您的回答来计算...我使用 BETWEEN 函数计算它出现的次数 :D 谢谢!以上是关于Oracle SQL LOOP(两个日期之间)和计数的主要内容,如果未能解决你的问题,请参考以下文章