我有一個數據庫,我想同時查詢多個值(用於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