SYMPTOM:
A database error is thrown regarding non-unique column names in a pass of SQL. An example would be the following Teradata error.
Duplicate definition of 'columnname' in Named phrase
This occurs when SQL is generated containing column names such as:
Sql
columnname, COLUMNNAME
The column aliases for different attribute/fact expressions are identical except for letter case like in the above example.
CAUSE:
The Strategy SQL engine makes its comparisons in a case sensitive manner for column aliases when generating SQL. This is done because Strategy supports case sensitive databases and with multi-sourcing both case sensitive and case insensitive databases can be used in the same project.
ACTION:
The solution to this issue is to modify the column alias for objects so that only one version of a column (one of the case versions) is used across all objects. For example making sure that any object using the column "test" only uses the one with that specific case. This can be done from the attribute or fact editor and the column alias tab located therein.