我有一个包含两列的表:AUTHOR和PUBLISHER。 我希望得到所有作者在表格中发表的所有作者。
SELECT AUTHOR AS
FROM TEMP1
HAVING COUNT(AUTHOR) = 2
GROUP BY AUTHOR;
因此,这将为我提供我目前想要的结果集,因为我知道数据中只有两个发布者,并且他们都只发布了每个作者的书籍。
SELECT AUTHOR AS
FROM TEMP1
HAVING COUNT(AUTHOR) = COUNT(PUBLISHER)
GROUP BY AUTHOR, PUBLISHER;
这不起作用,因为它只返回所有作者。我猜测其中一个(或两个)的计数可能没有按照我的希望进行,因为该组是错的?
答案 0 :(得分:1)
您似乎希望表中包含所有发布者的作者:
SELECT AUTHOR
FROM TEMP1
GROUP BY AUTHOR;
HAVING COUNT(*) = (SELECT COUNT(DISTINCT PUBNAME) FROM TEMP1);