У нас уже несколько лет из портала получают такие настройки способом, который в теме назван "наивным". То есть, получение всех вариантов с left outer join.
Не могу подвести какую-то теоретическую базу под такой выбор - просто когда помогали WEB программистам с построением запроса, получилось, что в экспериментах это был наиболее быстрый вариант.
Только у нас не отбирается потом одно единственное значение, а выводятся все три в разных полях. Возможно, что именно для счета ГК или каких-то других настроек, у которых результат может быть только один, так и нужно отбирать. Но у нас такие запросы, в основном, используются для получения цен-скидок. А там, как всем известно, благодаря флагу "Искать далее" для цен и скидок можно выбирать не просто строку, наиболее точно подходящую под составляющие части настройки (номенклатура более важна, чем группа номенклатур, группа клиентов более важна, чем все клиенты и т.п.), а суммировать скидки и выбирать наиболее низкие цены. Поэтому запрос возвращает все три варианта в разных колонках, а уже бизнес-логика на PHP определяет нужный.
|