我有一个数据库,我想同时查询多个值(用于prestanda目的)。我想发送一个IN子句并获取匹配行的列表以及它们等效的IN子句值作为回报。对此,我想保留的顺序在IN子句如何确定匹配的IN子句中的极限值
查询模板:
select id
from mytable
where id in (select id from myalias where alias in ('alias a', 'alias b')
and name = 'name 1' or name = 'name 2' ;
我怎么知道哪些行(ID)的结果是“名字1”和“名称2'?
这可能实现没有太多的忙碌?
得到的表:
id | alias
-----------
2 | alias a
1 | alias b
注意:如果IN-子句顺序被保持在结果表中,别名柱可以ommitted
myalias:
id | alias
-------------
1 | alias b
1 | alias d
2 | alias a
3 | alias z
myTable:
id | name
-----------
1 | name 1
2 | name 2
3 | name 2
选择MyOtherValue,MyValue ...应该做它没有? –
除了@JoeC的建议,使用'DISTINCT'和'ORDER BY'类。 –
@FredrickGauss,你如何建议SELECT DISTINCT和ORDER BY? – jarlh