Select list of attributes that exist in all groups

select distinct(p) from Pub; /* phdthesis article proceedings incollection inproceedings www book mastersthesis */ select * from field limit 20; /* tr/meltdown/s18,0,author tr/meltdown/s18,1,author tr/meltdown/s18,2,author tr/meltdown/s18,3,author tr/meltdown/s18,4,author tr/meltdown/s18,5,author tr/meltdown/s18,6,author tr/meltdown/s18,7,author tr/meltdown/s18,8,author tr/meltdown/s18,9,author tr/meltdown/s18,10,title tr/meltdown/s18,11,journal tr/meltdown/s18,12,year tr/meltdown/s18,13,ee tr/meltdown/m18,0,author tr/meltdown/m18,1,author tr/meltdown/m18,2,author tr/meltdown/m18,3,author tr/meltdown/m18,4,author tr/meltdown/m18,5,author */ 

pub and field join on column k (primary key)

I want to write a query that returns only those attributes (author/journal/year etc.) that have at least one record in every publication type: phdthesis, book, etc.