我正在表演@api.multi
def open_tree_view(self):
self.ensure_one()
treeview_id = self.env.ref('external_id_of_treeview').id
return {
'name': 'Title',
'type': 'ir.actions.act_window',
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'model.name',
'views': [(treeview_id, 'tree')
'target': 'current',
'domain' : [('id','in',search_ids)],
### in domain pass ids if you want to show only filter data else it will display all data of that model.
}
。
这是我的查询。
查询应为:
MySQL query with Where In conditions
查询显示我的正确结果,完全没问题, 但我想做的是我们可以将所有id与个别条件分开吗?
或者查询对SELECT * FROM users WHERE id IN (44,44,33,44,33,0);
有多个Where In
?
像
SELECT * FROM users WHERE id IN(44) AND id IN(45) AND id IN(46);
像这样。这可能吗?吗
我在Laravel中执行查询的查询代码。
single column
答案 0 :(得分:2)
如果没有其他原因,我会发布答案。我相信WHERE IN
子句在内部转换为由OR
分隔的一系列平等启动。所以你的原始查询
SELECT * FROM users WHERE id IN (44,44,33,44,33,0)
将在内部转换为此
SELECT * FROM users WHERE id = 44 OR id = 44 OR id = 33 OR id = 44 OR
id = 33 OR id = 0
因此,为IN
子句设置一个数字将等同于单个相等条件。
顺便说一下,你有多次出现相同的数字,这没有任何意义。
答案 1 :(得分:0)
是的,可以有多个WHERE IN
。
SELECT * FROM users WHERE id IN (44) OR id IN (45) OR id IN (46);
这是正确的。
但是我不明白你为什么要这样做,因为与一个IN
相比,这个性能很低