0

尝试执行此查询时,我不断收到未正确结束的语句。这是我第一次真正搞砸日期。我试图将我的结果限制在日期字段为 2013 年 1 月 1 日及以后的那些事情上。

select * from tab1
inner join tab2
on tab1.projectid = tab2.projectid
where tab1.client_id = 100
and tab1.sa_type_code = 'SUP'
and tab1.pl_category = 'CAT33'
where trunc(tab1.log_date) >= TO_DATE('01-jan-2013','dd-MON-yyyy');

谢谢您的帮助

4

2 回答 2

3

问题是你有两个WHERE clauses,其中SELECT语法只允许一个子句。

select * 
from  tab1
inner join tab2
on    tab1.projectid = tab2.projectid
where tab1.client_id = 100
and   tab1.sa_type_code = 'SUP'
and   tab1.pl_category = 'CAT33'
and   trunc(tab1.log_date) >= TO_DATE('01-jan-2013','dd-MON-yyyy');
于 2013-09-10T13:44:26.973 回答
2

你不能有两个where子句:

select * from tab1
inner join tab2
on tab1.projectid = tab2.projectid
where tab1.client_id = 100
and tab1.sa_type_code = 'SUP'
and tab1.pl_category = 'CAT33'
and trunc(tab1.log_date) >= TO_DATE('01-jan-2013','dd-MON-yyyy');

如果您确实想按日期订购,请添加:

order by tab1.log_date

你可能想要:

order by tab1.log_date desc

首先获取最近的日期。

于 2013-09-10T13:44:25.407 回答