我想建立一個邏輯來獲取報表中的匹配字段,我應該能夠並排比較報表,如「預期查詢輸出「截圖。查詢得到同一個表中的字段
行現有表格: -
預計查詢輸出: -
爲了得到這個,我試圖建立與INNER JOIN
一個SQL Query
。 但似乎這不會在這種情況下工作。現在我的大腦空白。 有人可以引導我在正確的方向嗎?
下面是我試圖構建的示例代碼。
; WITH CTE AS (
SELECT 'R1' AS ReportName, 'A' FieldName, 'M' FieldType
UNION ALL SELECT 'R1' AS ReportName, 'B' FieldName, 'D' FieldType
UNION ALL SELECT 'R1' AS ReportName, 'C' FieldName, 'D' FieldType
UNION ALL SELECT 'R1' AS ReportName, 'D' FieldName, 'D' FieldType
UNION ALL SELECT 'R2' AS ReportName, 'A' FieldName, 'M' FieldType
UNION ALL SELECT 'R2' AS ReportName, 'B' FieldName, 'D' FieldType
UNION ALL SELECT 'R2' AS ReportName, 'D' FieldName, 'D' FieldType
UNION ALL SELECT 'R3' AS ReportName, 'K' FieldName, 'M' FieldType
UNION ALL SELECT 'R3' AS ReportName, 'C' FieldName, 'D' FieldType
UNION ALL SELECT 'R4' AS ReportName, 'P' FieldName, 'D' FieldType
UNION ALL SELECT 'R4' AS ReportName, 'Q' FieldName, 'D' FieldType
UNION ALL SELECT 'R4' AS ReportName, 'R' FieldName, 'M' FieldType
UNION ALL SELECT 'R5' AS ReportName, 'A' FieldName, 'M' FieldType
UNION ALL SELECT 'R5' AS ReportName, 'B' FieldName, 'D' FieldType
UNION ALL SELECT 'R5' AS ReportName, 'L' FieldName, 'M' FieldType
)
SELECT C1.ReportName, count(C1.FieldName), C2.ReportName, COUNT(C2.FieldName) FROM CTE C1
inner join CTE C2
on C1.FieldName = C2.FieldType
and C1.FieldType = C2.FieldType
group by C1.ReportName, C2.ReportName
無碼A邏輯也歡迎:)
您需要解釋可以生成您的預期輸出的數據中的關係。在匹配報告中,R1(和R2,R3,R4在matchreport中)有3行,但只有一行R2(在匹配報告中有R1)的關係如何? –
單個表具有報告名稱和它包含的字段。我想比較那些具有共同字段(度量和維度)的報告,如預期輸出中所示。我也想要總數,以便我可以詳細查看。所以我們可以說關係是多對多的? – Aditya