Código SQL:
Ver originalCREATE TABLE #temp
(
id INT,
dato VARCHAR(200)
)
CREATE TABLE #temp2
(
id INT,
id_dato INT,
descrip VARCHAR(200)
)
INSERT INTO #temp (id,dato) VALUES (1,'dato1')
INSERT INTO #temp (id,dato) VALUES (2,'dato2')
INSERT INTO #temp (id,dato) VALUES (3,'dato3')
INSERT INTO #temp (id,dato) VALUES (40,'dato4')
INSERT INTO #temp2 (id_dato,id,descrip) VALUES (1,1,'dato1_1')
INSERT INTO #temp2 (id_dato,id,descrip) VALUES (40,1,'dato_40_1')
INSERT INTO #temp2 (id_dato,id,descrip) VALUES (40,2,'dato_40_2')
INSERT INTO #temp2 (id_dato,id,descrip) VALUES (40,3,'dato_40_3')
INSERT INTO #temp2 (id_dato,id,descrip) VALUES (40,4,'dato_40_4')
SELECT * FROM #temp t
LEFT JOIN #temp2 t1 ON (t.id=t1.id_dato)
WHERE t1.id <> 2
AND UPPER(t.dato) LIKE UPPER('%dato4%')
Y regresa estos valores:
id dato id id_dato descrip
40 dato4 1 40 dato_40_1
40 dato4 3 40 dato_40_3
40 dato4 4 40 dato_40_4
Que es lo que estas buscando no? todos los valores de 40 en donde no aparezca 40-2 que es el que seleccionaron.... o me equivoco???
Saludos!