Descrição:
É possível exibir o Conjunto de Valores, disponíveis na aba Valores da Fórmula, em uma tabela? O E3Browser deverá exibir os itens no seguinte formato:
Solução:
Ao inserir um objeto Fórmula, o Elipse E3 automaticamente cria quatro tabelas para armazenar sua configuração: TableName_Units, TableName_UnitData, TableName_Values, e TableName_ValueData.
Para exibir o nome do conjunto de valores e o respectivo valor, será preciso unir as tabelas TableName_Values e TableName_ValueData. Além disto, é necessário realizar uma transposição nos dados, e para isso utilizaremos o comando PIVOT.
Primeiramente vamos unir as tabelas:
SELECT Formula_Values.Name as Formulas, Formula_ValueData.Value as Valores, Formula_ValueData.TemplateID as TempID
FROM Formula_Values
JOIN Formula_ValueData
ON Formula_Values.ID = Formula_ValueData.ValueID
Após unir as tabelas, os dados do campo TempID serão convertidos em duas colunas:
SELECT Formulas, [1] as Campo1, [2] as Campo2
FROM (
SELECT Formula_Values.Name as Formulas, Formula_ValueData.Value as Valores, Formula_ValueData.TemplateID as TempID
FROM Formula_Values
JOIN Formula_ValueData
ON Formula_Values.ID = Formula_ValueData.ValueID
)AS S
PIVOT (
MIN (S.Valores)
FOR S.TempID IN ([1], [2])
) AS PVT
NOTA: Neste exemplo, foi utilizado um banco de dados SQL Server 2014.
Não aconselhamos usar instruções equivalentes (por exemplo: Transform/Pivot) em outros tipos de bancos de dados para obter esse resultado.