@ortsuev33

Как сделать лучше реализовать двойной запрос?

Есть две таблицы в бд , мне нужно в начале сравнить цифры которые приходят от пользователя их может быть и 1-20штук , плюс могут быть одинаковые(сразу говорю in не подходит потому что в случае если будет два одинаковых числа in вернет их результат как один ) если ошибок в бд не было выборка прошла успешно , я делаю второй запрос на инсерт этих чисел.
1 вопрос как сделать без in чтоб вернулись все совпадения либо не одно,
2ое как сделать запрос , чтобв их не было несколько , надеюсь я понятно объяснил
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
Alex_At_Net
@Alex_At_Net
Чат о разработке ПО - https://t.me/at_net
Если я правильно понял, на основе пользовательского ввода надо получить записи из базы. При этом если в вводе несколько одинаковых чисел, то записей надо получить по количеству этих чисел. Даже если это возможно, то это очень неоптимально, т.к. данные в этих строках будут абсолютно одинаковые. Намного проще получить данные из базы и потом перестроить в нужную структуру в коде.

Что касается возможности сделать это одним запросом... Ну можно сделать нечто похожее на один запрос: если база поддерживает batch queries, то можно несколько запросов добавить в одну строку и отправить. Ну или хранимую процедуру сделать. Про существование механизма, который бы на основе успешности выборки сделал insert одним запросом - не слышал никогда
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы