Encadeamento não cabe. Este trecho é o formato real do que estava no arquivo de desconto, com os nomes trocados:
Tente representar isso em colunas de uma tabela. Você vai acabar escrevendo um interpretador dentro do seu próprio sistema, e aí construiu um motor de regras sem depurador, sem teste e sem ninguém que o conheça além de você.
Eu achei esse modelo simples:
| qtde_minima | tipo | dt_inicial | dt_final | valor |
|---|---|---|---|---|
| 50 | distributor | 1920-01-01 | 2023-01-01 | 0.065 |
| 50 | distributor | 2023-01-02 | 0.050 | |
| 50 | other | 1920-01-01 | 0.080 |
Alí ele usa pela data do contrato, se fosse necessário, poderia usar colunas de validade.
Para cada critério que tiver para saber o preço ou desconto, basta adicionar uma coluna na tabela. Na consulta, filtra por ele.