This might be silly, but I'm trying to reduce an if-else statement to a single string using an inline if-statement for an SQL query:
private void Populate_compoundDGV(int splitID = 0)
{
//sql
if (splitID==0)
{
string sql = "SELECT split_compound_id, " +
"CONCAT(nanogen_code, ' ', common_name) AS Compound, " +
"split_label AS Split, " +
"LOD, " +
"LOQ " +
"FROM compound INNER JOIN split_compound ON compound.compound_id = split_compound.compound_id INNER JOIN split ON split_compound.split_id = split.split_id " +
"WHERE method_id = @methodID " +
"ORDER BY nanogen_code";
}
else
{
string sql = "SELECT split_compound_id, " +
"CONCAT(nanogen_code, ' ', common_name) AS Compound, " +
"split_label AS Split, " +
"LOD, " +
"LOQ " +
"FROM compound INNER JOIN split_compound ON compound.compound_id = split_compound.compound_id INNER JOIN split ON split_compound.split_id = split.split_id " +
"WHERE method_id = @methodID " +
$"AND split.split_id = {splitID} " +
"ORDER BY nanogen_code";
}
}
I know T-SQL has a Case-statement. Would that work here? Can this be done with parameters or is there something simpler? I used to use an IIF statement in VB.Net.