2015-01-12 43 views
0

我怎樣纔能有一個表達式的默認值?我有一個像solr dataImportHandler表達式與默認值

<entity name="company" query="select ID, CATEGORY_1, CATEGORY_2 from company"> 
    <entity name="category" 
    query="select id, name from category where id in (${company.CATEGORY_1}, ${company.CATEGORY_2})"> 

知道我想用NULL替換$ {company.CATEGORY_ *}如果它的值是不存在的一些事情。

當前格式它的查詢就像select id from category where id in (308,)這當然會導致錯誤。

我試過${company.CATEGORY_2?null}${company.CATEGORY_2!=null?company.CATEGORY_2:null}${company.CATEGORY_2:null}(某種形式的表達式我知道)。但它們都不起作用,那麼寫這個表達式的正確形式是什麼?

回答

1

如果你想在那裏有字符串「null」,你可以修改你的SQL來提供它嗎?

例如,

select ID, COALESCE(CATEGORY_1,'null'), COALESCE(CATEGORY_2,'null') from company 
+0

當然,我可以做到這一點。事實上我是這樣做的。只是想知道如何用solr表達式來做到這一點。 – alizelzele