【发布时间】:2014-01-27 16:44:11
【问题描述】:
我在使用左连接在水晶报表中显示数据时遇到问题,因为即使我在 sqlcommand 中使用 GROUP BY,它也会复制我的数据。
这是我的表格列表:
table 1: complaint
table 2: errordesc (error description)
这是我在水晶报表中的代码:
Dim objConn As MySqlConnection
Dim daT1, daT2 As MySqlDataAdapter
Dim activecomp As DataSet
Dim strConnection As String
Dim strSQL As String
strConnection = "server=localhost;user id=root;password=;database=ticketing_system;"
objConn = New MySqlConnection(strConnection)
objConn.Open()
strSQL = "SELECT * FROM errordesc LEFT JOIN complaint ON errordesc.tran_no=complaint.tran_no WHERE errordesc.status='On-process' group by errordesc.err_id "
daT1 = New MySqlDataAdapter(strSQL, objConn)
activecomp = New DataSet
daT1.Fill(activecomp, "comp")
daT1.Fill(activecomp, "active")
Dim rpt As New CrystalReport1
rpt.SetDataSource(activecomp)
CrystalReportViewer1.ReportSource = rpt
objConn.Close()
我的结果是这样的:
它重复了我的 errordesc.err_id,即使我认为它是分组的。 :(如果有人知道请帮忙。提前谢谢...
【问题讨论】:
-
你仍然需要在 (complaint, errordesc) 上使用 JOIN 来做你想做的事,就像你之前问过stackoverflow.com/q/21247358/1070452 COMPLAINT 应该有一个错误描述的外键,这似乎有点缺失显示的数据库。如图所示,似乎没有关系
-
我已经使用了 join sir 但输出是一样的
-
...你说过,但你从来没有向我们展示过 SQL...他们加入了哪一列?
-
除了左连接之外,您知道这有什么问题吗?我已经使用了左连接先生,但输出是一样的。
-
您需要提供每个表数据的样本。此外,为什么不直接针对数据库创建一个报告呢?在代码中这样做是不必要的复杂。
标签: vb.net crystal-reports sap