Focal Point
[SOLVED] In Operator in Where clause

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/2277031496

August 13, 2020, 04:16 AM
jsn22
[SOLVED] In Operator in Where clause
Hello Everyone,

I appreciate your help on 'in' operator to handle in where clause and getting input from parameter.

Sample Code
------------
-DEFAULT &COUNTRY1='ENGLAND,JAPAN,ITALY';
TABLE FILE CAR
PRINT *
WHERE COUNTRY IN ('&COUNTRY1');
END

I need like this Where COUNTRY IN ('ENGLAND','JAPAN','ITALY');

This message has been edited. Last edited by: FP Mod Chuck,


WebFOCUS version 8.1.05
Windows 10
August 13, 2020, 07:48 AM
MartinY
Since that you are using a DEFAULT value, you need to properly set the quotes in the default and in the WHERE clause such as below
-DEFAULT &COUNTRY1='''ENGLAND'',''JAPAN'',''ITALY''';
TABLE FILE CAR
PRINT *
WHERE COUNTRY IN (&COUNTRY1);
END

If the variable &COUNTRY1 is going to be received from an HTML page, insure to set the control's properties Multiple to Multiple and Multiple Add quotes to Yes.
But at that moment the IN condition will not work. You will have to use the EQ condition since the parameters will be received with an OR between each selected values.
I think that using auto-prompt will result in the same behavior so IN clause will not work.


WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
August 14, 2020, 01:39 AM
jsn22
Thanks for your information.


WebFOCUS version 8.1.05
Windows 10