Для меня ответ на вопрос зависит от того, где вы собираетесь выполнять SQL. Если вы выполняете это в Access, то напишите это в Access. Если вы выполняете его в SQL Server, запишите его в любом удобном для вас инструменте (и создайте SQL на диалекте SQL Server).
Я не согласен с критикой дизайнера запросов Access. Я думаю, что безумно писать свой SQL от руки и рисковать ошибками, а потом, в любом случае, «убирать» его в Access. Существуют веские причины, по которым Access обрабатывает ваш литеральный SQL-код - чтобы убедиться, что он находится в форме, которую оптимизатор запросов Jet / ACE может правильно оценить, чтобы создать наиболее эффективный план выполнения. Почему кто-то хотел бы пропустить выгоды, которые приходят от этого, совершенно сбивает меня с толку.
Я все еще использую конструктор запросов и занимаюсь этим более 16 лет. Конечно, я часто использую его только для запуска своего SQL, а затем манипулирую результатами в коде, но это гораздо проще сделать, чем пытаться писать сложные соединения или правильно квалифицировать все, набрав все это.
Я думаю, что у людей, которые враждебны к этому, есть проблема с эго - они похожи на стариков, которые говорят, что в свое время нам приходилось ходить в школу босыми ногами, и это было в обоих направлениях, и им это нравилось сюда.
Лично я рад за туфли и за поездку в автобусе, и буду использовать оба, если они не будут мешать конкретной задаче.