Suponiendo que podriamos en un momento dado no tener toda la informacion del compuesto tal vez el query podria contar las coincidencias y dar como resultado el compuesto que mas se parezca segun la informacion obtenida hasta el momento...
Podria ser algo asi? (solo estoy evaluando de momento que el compuesto tenga el elemento, pero se podria agregar la variable la cantidad del elemento presente en el compuesto, para asi tener una ponderacion mas acertada..)
Bueno es lo que se me ocurre..
=D
Código:
SELECT TOP 1 id_comp
FROM #detalles_compuestos c
LEFT JOIN #detalles_incognita i
ON c.id_elem = i.id_elem
GROUP BY id_comp
HAVING SUM(CASE WHEN i.id_elem is NOT NULL THEN 1 ELSE 0 END) > 0
ORDER BY SUM(CASE WHEN i.id_elem is NOT NULL THEN 1 ELSE 0 END) / CAST( COUNT(1) AS DECIMAL(13,4)) DESC
Saludos!