Pues no entiendo tu planteamiento pude obtener esto:
Código SQL:
Ver originalCREATE TABLE #elementos(
id INT,
nombre VARCHAR(20),
simbolo VARCHAR(2),
numatom INT
)
CREATE TABLE #compuestos
(
id INT,
nombre VARCHAR(20),
simbolo VARCHAR(20)
)
CREATE TABLE #detalles_compuestos
(
id_comp INT,
id_elem INT,
cant_elem INT
)
INSERT INTO #elementos VALUES (1,'hidrogeno','H',1)
INSERT INTO #elementos VALUES (8,'oxigeno','O',8)
INSERT INTO #elementos VALUES (2,'cloro','Cl',8)
INSERT INTO #elementos VALUES (3,'sodio','Na',8)
INSERT INTO #compuestos VALUES (36,'AGUA','H2O')
INSERT INTO #compuestos VALUES (37,'Sal','NaCl')
INSERT INTO #detalles_compuestos VALUES (36,1,2)
INSERT INTO #detalles_compuestos VALUES (36,8,1)
INSERT INTO #detalles_compuestos VALUES (37,2,1)
INSERT INTO #detalles_compuestos VALUES (37,3,1)
SELECT
c.cant_elem, e.nombre,e.simbolo
FROM #detalles_compuestos AS c
INNER JOIN #elementos AS e ON (e.id=c.id_elem)
INNER JOIN #compuestos AS com ON (com.id=c.id_comp)
WHERE com.nombre LIKE '%sal%'
[B]cant_elem nombre simbolo
1 cloro Cl
1 sodio Na
[/B]
SELECT
c.cant_elem, e.nombre,e.simbolo
FROM #detalles_compuestos AS c
INNER JOIN #elementos AS e ON (e.id=c.id_elem)
INNER JOIN #compuestos AS com ON (com.id=c.id_comp)
WHERE com.nombre LIKE '%agua%'
[B]cant_elem nombre simbolo
2 hidrogeno H
1 oxigeno O
[/B]
No es eso lo que decias que se obtuviera??? ahi yo veo que una particula de agua se logra con 2 de hidrogeno y una de oxigeno......o no???