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 original
CREATE 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 original
CREATE VIEW coautores_GraySzalay AS SELECT title FROM papersinfo WHERE ref_paper IN (SELECT ref_paper FROM autores_GraySzalay WHERE nauthor ="2");
Código SQL:
Ver original
SELECT * FROM coautores_GraySzalay;
Pero querría unirlas, y lo he hecho así:
Código SQL:
Ver original
SELECT 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!!