我正在尝试使用以下查询将计数打印为额外列:
Sub PrintVisibleSheets()
Dim arr, s, lst, sep
arr = Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", _
"Sheet6", "Sheet7", "Sheet8", "Sheet9", "Sheet10", "Sheet11")
For Each s In arr
If ThisWorkbook.Sheets(s).Visible Then
lst = lst & sep & s
sep = "|" 'add separator after first pass
End If
Next s
'any visible sheets?
If Len(lst) > 0 Then ThisWorkbook.Sheets(Split(lst, "|")).PrintOut
End Sub
现在,我将它设置为查询从CurrentLoan表中获取memberID的位置,从Member表中获取相应的名字和姓氏并列出它们,但我需要获取每个成员的计数(如在该会员已采取多少本书) 有什么提示吗?
答案 0 :(得分:1)
您当前的查询似乎在正确的轨道上,但如果您想要计算每个成员的书籍,那么您必须选择它:
SELECT
m.memberID,
m.lastname,
m.firstname,
COUNT(c.memberID) AS book_cnt
FROM Member m
LEFT JOIN CurrentLoan c
ON m.memberID = c.memberID
GROUP BY
m.memberID;
计数表达式COUNT(c.memberID)
很重要,因为它正在计算加入表CurrentLoan
中的记录。在边缘情况下,成员没有取出书籍,此计数表达式将报告为零。另请注意,我们离开此处是为了确保我们不会放弃任何碰巧没有书籍的会员。