cancel
Showing results for 
Search instead for 
Did you mean: 

Using the "IN" expression in SQL statement

Former Member
0 Kudos

Hi,

I have an array with multiple values stored in it. I would like to use these values in the filter expression of another query using the "IN" clause (data is coming from a sql dataabse). Is there a way to achieve this, I did not see an option in the std query template for using the "IN" expression.

Thanks.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Do a Fixed Query.

select * from xyz where abc IN('[Param.1]','[Param.2]',.....)

Former Member
0 Kudos

Or, to save Params, pass in a comma separated list of match values:

select * from mytable where mycolumn in ([Param.1])

And if you are getting the comma separated list from say an iBrowser, here are two quick utilities to build a comma separated list of the iBrowser values or iBrowser Datalink values:


// returns comma separated list of DATALINK values from iBrowser.
// if none selected, returns list of all values
function getCSLDatalinkValues(myApplet) {
	
	var selValues = "";
	var selCount = myApplet.getBrowserObject().getSelectedItemCount();
	
	if(selCount) {
		for(var i=1; i<= selCount; i++) {
			selValues += myApplet.getBrowserObject().getSelectedDatalinkValueAt(i) + "','";
		}
	} else {
		for(var i=1; i<= myApplet.getBrowserObject().getItemCount(); i++) {
			selValues+= myApplet.getBrowserObject().getDatalinkValueAt(i) + "','";
		}
	}

	// remove trailing ","
	selValues = selValues.substring(0,selValues.length-2);
	// insert begin "'"
	selValues = "'" + selValues;
	
	return selValues;	
}
// returns comma separated list of values from iBrowser.
// if none selected, returns list of all values
function getCSLValues(myApplet) {
	
	var selValues = "";
	var selCount = myApplet.getBrowserObject().getSelectedItemCount();
	
	if(selCount) {
		for(var i=1; i<= selCount; i++) {
			selValues += myApplet.getBrowserObject().getSelectedItemAt(i) + ",";
		}
	} else {
		for(var i=1; i<= myApplet.getBrowserObject().getItemCount(); i++) {
			selValues += myApplet.getBrowserObject().getItemAt(i) + ",";
		}
	}

	// remove trailing ","
	selValues = selValues.substring(0,selValues.length-1);
	
	return selValues;	
}

jcgood25
Active Contributor
0 Kudos

So, if I'm not using a multi-select iBrowser and selCount is false, what happens when the bogus "myBrowser" object is referenced in the for loop?

Former Member
0 Kudos

what?

jcgood25
Active Contributor
0 Kudos

Thanks for blindly correcting your earlier post...

Answers (0)