sqlStmt = "SELECT * FROM Imports..tdsix_balance B LEFT JOIN Imports..tdsix_account A ON B.ACID = A.ACID LEFT JOIN (SELECT DISTINCT ACID, MAX(AsOf) AS ASOF FROM Imports..tdsix_account GROUP BY ACID) Z ON A.ACID = Z.ACID"" +"where "; if (account.equals("")){sqlStmt = sqlStmt + "(B.ACID like '5F%' or B.ACID like '5G%' or B.ACID like '5H%' or B.ACID like '5T%'" +" or B.ACID like '5J%' or B.ACID like '01%' or B.ACID like '03%')" +"and B.asof =? " +"and (A.asof = Z.ASOF or A.asof is null) " +"order by B.acid";} else {sqlStmt = sqlStmt + "B.ACID like '" + account + "%' " +"and B.asof =? " +"and (A.asof = Z.ASOF or A.asof is null) " ;
IF @account IS NULLBEGIN SELECT * FROM Imports..tdsix_balance B LEFT JOIN Imports..tdsix_account A ON B.ACID = A.ACID LEFT JOIN (SELECT DISTINCT ACID, MAX(AsOf) AS ASOF FROM Imports..tdsix_account GROUP BY ACID) Z ON A.ACID = Z.ACID WHERE LEFT(B.ACID,2) IN ('5F','5G','5H','5T','5J','01','03') AND(A.AsOf = Z.ASOF or A.AsOf IS NULL) ORDER BY B.ACIDENDELSEBEGIN SELECT * FROM Imports..tdsix_balance B LEFT JOIN Imports..tdsix_account A ON B.ACID = A.ACID LEFT JOIN (SELECT DISTINCT ACID, MAX(AsOf) AS ASOF FROM Imports..tdsix_account GROUP BY ACID) Z ON A.ACID = Z.ACID WHERE B.ACID LIKE @account+'%' AND (A.AsOf = Z.ASOF OR A.AsOf IS NULL) ORDER BY B.ACIDEND
AND ((@Status = 1 AND table.Status = 1) OR (@Status = 0))AND ((@ProductColor = 'yellow' AND table.Color = 'yellow') OR (@ProductColor = 'red' AND table.Color = 'red') OR (@ProductColor IN ('blue','green','')))
IF @account = '' OR LEN(@account) = 0 OR @account IS NULL whereStmt = "WHERE Id1 BETWEEN 'AA' AND 'KK' AND Id2 IS NULL"ELSEIF @account <> '' AND LEN(@account) > 0 AND @account IS NOT NULL whereStmt = "WHERE Id1 BETWEEN 'MM' AND 'ZZ' AND Id2 IS NOT NULL"ELSEIF @account > 100 whereStmt = "WHERE ......." and so on
IF @account = '' OR LEN(@account) = 0 OR @account IS NULL WHERE Id1 BETWEEN 'AA' AND 'KK' AND Id2 IS NULLELSEIF @account <> '' AND LEN(@account) > 0 AND @account IS NOT NULL WHERE Id1 BETWEEN 'MM' AND 'ZZ' AND Id2 IS NOT NULLELSEIF @account > 100 WHERE ....... and so on
WHERE( (@account = '' OR LEN(@account) = 0 OR @account IS NULL) AND ( (Id1 BETWEEN 'AA' AND 'KK' AND Id2 IS NULL) OR (Id1 BETWEEN 'MM' AND 'ZZ' AND Id2 IS NOT NULL) ))OR( @account > 100)