我无法理解以下子查询规则。如果可能的话,任何人都可以帮我理解这个例子......
"The BETWEEN operator cannot be used with a subquery; however, the BETWEEN operator can be used within the subquery"
答案 0 :(得分:0)
这是两个不同的陈述:
A) BETWEEN运算符不能与子查询一起使用
不允许使用此示例:
select CODE, (select top 1 NAME from NAMES where ID between CODE and 999)
from MY_TABLE
子查询不能用作BETWEEN运算符的操作数
B) BETWEEN运算符可以在子查询中使用
允许使用此示例:
Odoo Server Error
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/odoo/http.py", line 638, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/usr/lib/python2.7/site-packages/odoo/http.py", line 675, in dispatch
result = self._call_function(**self.params)
File "/usr/lib/python2.7/site-packages/odoo/http.py", line 331, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/odoo/service/model.py", line 119, in wrapper
return f(dbname, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/odoo/http.py", line 324, in checked_call
result = self.endpoint(*a, **kw)
File "/usr/lib/python2.7/site-packages/odoo/http.py", line 933, in __call__
return self.method(*args, **kw)
File "/usr/lib/python2.7/site-packages/odoo/http.py", line 504, in response_wrap
response = f(*args, **kw)
File "/usr/lib/python2.7/site-packages/odoo/addons/web/controllers/main.py", line 866, in call_button
action = self._call_kw(model, method, args, {})
File "/usr/lib/python2.7/site-packages/odoo/addons/web/controllers/main.py", line 854, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/usr/lib/python2.7/site-packages/odoo/api.py", line 681, in call_kw
return call_kw_multi(method, model, args, kwargs)
File "/usr/lib/python2.7/site-packages/odoo/api.py", line 672, in call_kw_multi
result = method(recs, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/odoo/addons/base/module/module.py", line 410, in button_immediate_install
return self._button_immediate_function(type(self).button_install)
File "/usr/lib/python2.7/site-packages/odoo/addons/base/module/module.py", line 484, in _button_immediate_function
modules.registry.Registry.new(self._cr.dbname, update_module=True)
File "/usr/lib/python2.7/site-packages/odoo/modules/registry.py", line 78, in new
odoo.modules.load_modules(registry._db, force_demo, status, update_module)
File "/usr/lib/python2.7/site-packages/odoo/modules/loading.py", line 337, in load_modules
loaded_modules, update_module)
File "/usr/lib/python2.7/site-packages/odoo/modules/loading.py", line 235, in load_marked_modules
loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks)
File "/usr/lib/python2.7/site-packages/odoo/modules/loading.py", line 159, in load_module_graph
_load_data(cr, module_name, idref, mode, kind='demo')
File "/usr/lib/python2.7/site-packages/odoo/modules/loading.py", line 95, in _load_data
tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)
File "/usr/lib/python2.7/site-packages/odoo/tools/convert.py", line 848, in convert_file
convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
File "/usr/lib/python2.7/site-packages/odoo/tools/convert.py", line 918, in convert_xml_import
obj.parse(doc.getroot(), mode=mode)
File "/usr/lib/python2.7/site-packages/odoo/tools/convert.py", line 802, in parse
self._tags[rec.tag](rec, de, mode=mode)
File "/usr/lib/python2.7/site-packages/odoo/tools/convert.py", line 698, in _tag_record
f_val = self.id_get(f_ref)
File "/usr/lib/python2.7/site-packages/odoo/tools/convert.py", line 785, in id_get
res = self.model_id_get(id_str, raise_if_not_found)
File "/usr/lib/python2.7/site-packages/odoo/tools/convert.py", line 791, in model_id_get
return self.env['ir.model.data'].xmlid_to_res_model_res_id(id_str, raise_if_not_found=raise_if_not_found)
File "/usr/lib/python2.7/site-packages/odoo/addons/base/ir/ir_model.py", line 1027, in xmlid_to_res_model_res_id
return self.xmlid_lookup(xmlid)[1:3]
File "<string>", line 2, in xmlid_lookup
File "/usr/lib/python2.7/site-packages/odoo/tools/cache.py", line 87, in lookup
value = d[key] = self.method(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/odoo/addons/base/ir/ir_model.py", line 1016, in xmlid_lookup
raise ValueError('External ID not found in the system: %s' % xmlid)
ParseError: "External ID not found in the system: base.user_demo" while parsing /usr/lib/python2.7/site-packages/odoo/addons/resource/data/resource_demo.xml:90, near
<record id="resource_designer" model="resource.resource">
<field eval="100" name="time_efficiency"/>
<field name="user_id" ref="base.user_demo"/>
<field name="name">Designer</field>
<field eval="1" name="active"/>
<field name="calendar_id" ref="timesheet_group1"/>
<field name="resource_type">user</field>
</record>
BETWEEN运算符可以在子查询中使用