2017-10-21 54 views
0

我需要从两个单独的表中获得结果,但我也想使用count函数。涉及两个不同表的SQL查询

目前查询:

SELECT BOOK_NUM, COUNT(BOOK_NUM) 
FROM CHECKOUT 
GROUP BY BOOK_NUM   
HAVING COUNT(BOOK_NUM) > 7 

结果:

BOOK_NUM COUNT(BOOK_NUM)) 
---------------------------- 
5236   12 
5235    9 

我只是还需要显示与此结果来自同一本书表中设置的书名。

+2

提示:'INNER JOIN'。 –

+0

请你详细说明一下?它不是很清楚想要什么 –

回答

2

免责声明:在问题

大多猜测,由于缺乏信息,您将需要JOIN到任何表包含图书信息我会认为这就是所谓的BOOK,它有两列BOOK_NUMNAME。我们可以使用BOOK表中的BOOK_NUM列链接到CHECKOUT表中的BOOK_NUM列,这些列不需要具有相同的名称。您包含在SELECT中的所有非聚合列(在此例中为BOOK_NUMBOOK.NAME)必须位于GROUP BY子句中。

SELECT CHECKOUT.BOOK_NUM, BOOK.NAME, COUNT(CHECKOUT.BOOK_NUM) 
FROM CHECKOUT 
JOIN BOOK ON BOOK.BOOK_NUM = CHECKOUT.BOOK_NUM 
GROUP BY BOOK_NUM, BOOK.NAME  
HAVING COUNT(CHECKOUT.BOOK_NUM) >7 
+0

不要忘记COUNT(CHECKOUT.BOOK_NUM)的列别名。防爆。 COUNT(CHECKOUT.BOOK_NUM)AS [总计]。 – Zorkolot