这里的查询是什么?
我想把“年”作为参数:
select distinct
p.id "pub_id"
from
publication "p", organisation_association "oa", organisation "o", localized_string_text "lst_org"
where
p.id = oa.publication_id
and oa.organisation_id = o.id
and o.name_id = lst_org.localized_string_id
and p.submission_year = ?
and exists (select 1
from
publication "p2", organisation_association "oa2", organisation "o2"
where
p2.id = p.id
and p2.id = oa2.publication_id
and oa2.organisation_id = o2.id
and o2.period_end_date < date ? + '-01-01')
但是,最后一行的连接会产生语法错误。
答案 0 :(得分:3)
如果参数作为年份字符串传递:
and o2.period_end_date < date (? || '-01-01'))
如果是日期:
and o2.period_end_date < date_trunc('year', ?)
如果是年份数字:
and o2.period_end_date < date (?::text || '-01-01'))