I've been having trouble pushing down queries to a SQL server when using Crystal Reports (I'm currently working with Crystal Reports 2013).
If I enter the following as a record selection formula, Crystal uses a WHERE clause to select the records:
{LINKAGE.ENTITY_ID_1} = 1 and
{LINKAGE.ENTITY_TABLE_1} = "ENT" and
{LINKAGE.ENTITY_TABLE_2} in ["DOC","PHO"]
-Gives-
SELECT "LINKAGE"."ENTITY_ID_1", "LINKAGE"."ENTITY_TABLE_1", "LINKAGE"."ENTITY_TABLE_2"
FROM "TESTING_DB"."dbo"."LINKAGE" "LINKAGE"
WHERE "LINKAGE"."ENTITY_ID_1"=1 AND "LINKAGE"."ENTITY_TABLE_1"='ENT' AND ("LINKAGE"."ENTITY_TABLE_2"='DOC' OR "LINKAGE"."ENTITY_TABLE_2"='PHO')
If I change the 'hard coded' values to instead use variables, Crystal no longer includes a WHERE clause when selecting records:
numbervar valueNumber := 1;
stringvar valueString := "ENT";
stringvar array valueArray := ["DOC","PHO"];
{LINKAGE.ENTITY_ID_1} = valueNumber and
{LINKAGE.ENTITY_TABLE_1} = valueString and
{LINKAGE.ENTITY_TABLE_2} in valueArray
-Gives-
SELECT "LINKAGE"."ENTITY_ID_1", "LINKAGE"."ENTITY_TABLE_1", "LINKAGE"."ENTITY_TABLE_2"
FROM "TESTING_DB"."dbo"."LINKAGE" "LINKAGE"
From reading the documentation it sounds as though there shouldn't be an issue pushing these down, so I'm not too sure what I might be missing. Any insight would be greatly appreciated!