我有三个字段,它们在一个表上构成一个唯一的复合键。
我想传入索引匹配的3个不同的数组。
custIds= [0,1,2] custLetters = [A,B,C] products = ["Cheese","lemons","Aubergine"]
是否有一条sql语句将返回所有三行(假设它们存在),in由于“ false positives” ,仅通过via合并将不起作用:
in
select * from mytable where custId in (custIds) and custLetters in (custLetters) and product in (products);
数据库oracle,但通过hibernatehql,所以如果可能的话,首选ansi吗?
OT:您的SQL查询可能是错误的。它应该是:
select * from mytable where (custId, custLetters, product) in ( (0, 'A', 'Cheese'), (1, 'B', 'lemons'), (2, 'C', 'Aubergine'));
我不使用Hibernate是否可以生成这样的查询。但是,in这只是用于结合词和析取词的语法糖。