我正在为下面的SQL命令编写Couchdb _design文档:
SELECT NVL(MAX(NVL(VERSION,0)),0)+1 FROM pricelistdocs WHERE
PRICE_LIST_ID = ? AND DELETION_FLAG = 0;
我在运行并返回值时想出了一个_design视图函数,但我怀疑上述SQL命令的正确和满足期望。
function(doc){
if(doc.PRICE_LIST_ID == "110011" && doc.DELETION_FLAG == "0" ){
emit(doc._id, doc.VERSION);
}
}
请问如何将NVL()
和MAX
功能添加到上面的_design视图文档中。
感谢任何infortiom或线索。谢谢你的时间。
答案 0 :(得分:1)
您可以通过检查字段的存在来编写自己的NVL函数,如果不存在则返回0。
对于最大功能,您必须在视图中添加reduce功能。如果你只想获得最大值,"reduce": "_max"
会做,这是一个内置的reduce函数。