在sql中不重复的组合或条件
我正在尝试选择介于date_from和date_to之间的电话号码 或者指定的日期为空 但是Or部分的问题忽略了其他条件,其中pho.parent_id=:p_id和pho.phone_type='M'和rownum将Or条件放在大括号内在sql中不重复的组合或条件,sql,oracle,Sql,Oracle,我正在尝试选择介于date_from和date_to之间的电话号码 或者指定的日期为空 但是Or部分的问题忽略了其他条件,其中pho.parent_id=:p_id和pho.phone_type='M'和rownum将Or条件放在大括号内 select pho.PHONE_NUMBER from per_phones pho where pho.parent_id = :p_id and pho.phone_type='M' and rownum <=1 an
select pho.PHONE_NUMBER
from per_phones pho
where pho.parent_id = :p_id and pho.phone_type='M'
and rownum <=1 and
(sysdate > pho.DATE_FROM and sysdate < DATE_TO or DATE_TO is null)
把你的身体状况放在支架内
select pho.PHONE_NUMBER
from per_phones pho
where pho.parent_id = :p_id and pho.phone_type='M'
and rownum <=1 and
(sysdate > pho.DATE_FROM and sysdate < DATE_TO or DATE_TO is null)
如果您的记录从日期到时间结束有效,我认为您的日期为空
您仍然需要检查DATE_FROM条件,并将rownum条件放在外部查询中,因此需要以下内容:
Select PHONE_NUMBER from
(select pho.PHONE_NUMBER
from per_phones pho
where pho.parent_id = :p_id
and pho.phone_type='M'
and rownum <= 1 -- this is not needed here
and sysdate > pho.DATE_FROM
and (sysdate < DATE_TO or DATE_TO is null)
)
Where rownum <= 1
干杯 如果您的记录从日期到时间结束有效,我认为您的日期为空
您仍然需要检查DATE_FROM条件,并将rownum条件放在外部查询中,因此需要以下内容:
Select PHONE_NUMBER from
(select pho.PHONE_NUMBER
from per_phones pho
where pho.parent_id = :p_id
and pho.phone_type='M'
and rownum <= 1 -- this is not needed here
and sysdate > pho.DATE_FROM
and (sysdate < DATE_TO or DATE_TO is null)
)
Where rownum <= 1
干杯