아래 쿼리는 5 개의 대시 보드에 대한 레코드를 표시합니다. 쿼리가 제대로 작동합니다. 그러나 데이터가있는 대시 보드 만 표시합니다. 내가 원하는 것은 데이터가 존재하지 않는 모든 대시 보드와 열을 표시해야하며 0 또는 NULL을 표시해야합니다.데이터가없는 행의 경우 0 표시
Select
b.[path],
count(*) as "No of Calls",
a.TimeDataRetrieval as "DB Retrieval time",
a.TimeProcessing as "Processing time",
a.TimeRendering as "Rendering Time"
FROM LogStorage a inner join Catalog b on a.[ReportID] = b.[ItemID]
where b.[path] IN ('Dashboard1','Dashboard2','Dashboard3','Dashboard4','Dashboard5')
group by b.[path]
감사합니다.
'INNER JOIN'은 공유 레코드 만 표시합니다. 적용 가능한 경우 하나의 테이블과 공유 레코드에서 모두를 표시하려면 'LEFT JOIN'을 수행 할 수 있습니다. – Santi
나는 그것을 시험해 보았다. 그러나 그것은 여전히 모든 대시 보드를 보여주지 않을 것입니다. 내가 원하는 것은 항상 5 개의 대시 보드를 모두 표시하는 것입니다. 즉, 해당 대시 보드의 경우 데이터가없는 경우 0을 표시해야합니다. 즉, b. [경로] 열에는 항상 Dashboards1 대 Dashboard5가 표시되어야합니다. – Jatin
모든 대시 보드를 선택하려면 'SELECT'가 해당 테이블을 대상으로해야하며 조건 정보가있는 테이블에서 'LEFT JOIN'을 선택해야합니다. 당신의 경우에, 나는 당신이'RIGHT JOIN'을 할 수 있다고 믿습니다. – Santi