MySql Выбрать столбцы из одной таблицы на основе разных условий - PullRequest
0 голосов
/ 13 июня 2018

Мне нужно выполнить несколько выборок для таблицы и получить набор результатов для 2 столбцов.Одно решение, которое я нашел, заключается в использовании UNION , как показано ниже.

SELECT cap_id, cap_code FROM cap_master
where cap_type = 'Type1' and cap_desc = 'CapDesc1' 
 UNION
SELECT cap_id, cap_code FROM cap_master
where cap_type = 'Type2' and cap_desc = 'CapDesc2' 

Есть ли другой способ сделать это.Там может быть около 10-20 избранных операторов за один раз.Повлияет ли это на производительность, если так, то какой подход будет лучше?

1 Ответ

0 голосов
/ 13 июня 2018

Я думаю, вы должны просто иметь возможность использовать один запрос с большим предложением WHERE, используя OR операторы.

Пример

SELECT cap_id, cap_code
FROM cap_master
WHERE (cap_type = 'Type1' AND cap_desc = 'CapDesc1`) 
    OR (cap_type = 'Type2' AND cap_desc = 'CapDesc2')

Это как минимум отправная точкадля получения результатов только тогда, когда cap_type и cap_desc являются конкретными значениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...