Объедините два запроса на выборку в один - PullRequest
0 голосов
/ 03 сентября 2018

У меня 2 выбранных запроса

select Amount,
       CurrentBalanceCurrency,
       AmountType
from UserBalance
where AmountType= 10

select Amount,
       CurrentBalanceCurrency,
       AmountType
from UserBalance
where AmountType= 20

Я хочу сделать этот запрос в одну строку, не обращаясь к моей базе данных дважды.

Ответы [ 4 ]

0 голосов
/ 03 сентября 2018

Другой вариант - использовать объединение всех для объединения наборов результатов, это может повысить производительность по сравнению с или или в в некоторых случаях (вы могли бы иметь проверить себя):

select Amount,
       CurrentBalanceCurrency,
       AmountType
from UserBalance
where AmountType= 10
union all
select Amount,
       CurrentBalanceCurrency,
       AmountType
from UserBalance
where AmountType= 20
0 голосов
/ 03 сентября 2018

Вы можете использовать IN оператор.

Запрос

select [Amount], [CurrentBalanceCurrency], [AmountType]
from [UserBalance]
where [AmountType] in (10,20);
0 голосов
/ 03 сентября 2018

Вы должны использовать ИЛИ между этими двумя условиями:

select Amount
,CurrentBalanceCurrency
,AmountType 
from UserBalance where AmountType= 10 OR AmountType = 20
0 голосов
/ 03 сентября 2018

Использование оператора IN в предложении where:

select Amount, CurrentBalanceCurrency, AmountType 
from UserBalance 
where AmountType in (10,20);
...