使用不同的数据字段作为输出

wljmcqd8  于 2022-10-22  发布在  其他
关注(0)|答案(1)|浏览(134)

我有三张不同的table。

  • 表1记录了使用ReportID打开报告的次数
  • 表2具有CreatedID和ItemID,ItemID=ReportID
  • 表3具有CreatedID、UserID和Username

我正在尝试创建一个报告,显示谁用用户名创建了每个报告。我该怎么做?这是我迄今为止所掌握的,它的工作非常完美,只是我想补充一下是谁创建了这份报告。

SELECT
COUNT(ReportID) COUNT,
Name
--CONVERT(DATE, TimeStart) StartDate

FROM table1
LEFT JOIN table2 b ON b.ItemID = ReportID
WHERE TYPE IN('2','13') AND TimeStart >= @Days  AND PATH NOT LIKE '/DEVELOPEMENT%'

GROUP BY
NAME
--CONVERT(DATE, TimeStart)
w3nuxt5m

w3nuxt5m1#

我认为这可能和加入表3一样简单。但您还没有提供示例数据,您缺少了一些细节。表3和表2是一对一的吗?如果是这样的话,这应该是有效的:

SELECT
    COUNT(ReportID) COUNT,
    Name
    --CONVERT(DATE, TimeStart) StartDate
    , c.Username as CreatedBy

FROM table1
    LEFT JOIN table2 b 
        ON b.ItemID = ReportID
    LEFT JOIN table3 c
        ON c.CreatedID = b.CreatedID
WHERE TYPE IN('2','13') AND TimeStart >= @Days  AND PATH NOT LIKE '/DEVELOPEMENT%'

GROUP BY
    NAME
    , t3.Username
--CONVERT(DATE, TimeStart)

相关问题