DECLARE @tblSales TABLE
(
c006 VARCHAR(10),
mesocomp VARCHAR(100),
c048 VARCHAR(100),
c020 VARCHAR(100),
c021 VARCHAR(100)
)
INSERT INTO @tblSales(c006, mesocomp, c048, c020, c021)
VALUES(120,'01Ta','Microsoft','2','239')
SELECT * FROM @tblSales
DECLARE @tblCondition TABLE
(
Id INT,
dimension VARCHAR(100),
operator VARCHAR(10),
wert_db VARCHAR(100)
)
INSERT INTO @tblCondition(Id, dimension, operator, wert_db) VALUES(1,'sales.c006','<','700')
INSERT INTO @tblCondition(Id, dimension, operator, wert_db) VALUES(1,'sales.c048','not like','''MIC%''')
INSERT INTO @tblCondition(Id, dimension, operator, wert_db) VALUES(1,'sales.c021','in','(203,206)')
DECLARE @whereCondition VARCHAR(400)
SELECT @whereCondition = COALESCE(@whereCondition + ' ', '') + dimension + ' ' + operator + ' ' + wert_db + ' AND '
FROM @tblCondition
SET @whereCondition = SUBSTRING(@whereCondition,0, LEN(@whereCondition) - 3)
PRINT @whereCondition
DECLARE @sql VARCHAR(4000)
SET @sql = 'SELECT * FROM @tblSales Where ' + @whereCondition
PRINT @sql
EXEC(@sql)
--please use real tables so you will get everything working.