Hola
Acabo de empezar a usar MYysql y tengo unas dudas.. alguien podría ayudarme?
muchas gracias!
Tengo una tabla de authors (ref_author,name), papersinfo (ref_paper e información del artículo) y papersauthors, que relaciona los artículos con los autores.
Tengo que dar los artículos en los que "J_Gray" y"A_Szalay" han trabajado juntos.
He conseguido sacarlo mediante dos consultas:
Código SQL:
Ver originalCREATE VIEW autores_GraySzalay AS
SELECT ref_paper,COUNT(*) AS nauthor FROM papersauthors WHERE ref_author IN (SELECT ref_author FROM authors WHERE name IN ("J_Gray","A_Szalay")) GROUP BY ref_paper;
Código SQL:
Ver originalCREATE VIEW coautores_GraySzalay AS
SELECT title FROM papersinfo WHERE ref_paper IN (SELECT ref_paper FROM autores_GraySzalay
WHERE nauthor ="2");
Pero querría unirlas, y lo he hecho así:
Código SQL:
Ver originalSELECT title FROM papersinfo
WHERE ref_paper IN (SELECT ref_paper FROM papersauthors
WHERE nauthor IN (SELECT COUNT(*) AS nauthor FROM papersauthors
WHERE ref_author IN (SELECT ref_author FROM authors WHERE name IN ("J_Gray","A_Szalay"))
GROUP BY ref_paper) AND nauthor=2);
Me da error y no reconoce "nauthor".
Cómo podría arreglarlo?
Veis alguna forma de hacerlo más fácil?
Muchas gracias!!