【发布时间】:2014-01-28 14:23:39
【问题描述】:
我有一个完整的数据库系统,主要用于它自己的前端软件。今年我们的字符生成器只接受 XML 数据提要,我发现我可以查询数据库并创建一个 XML 文件。
数据库分布在大约十几个表中。我可以从 2 表查询中获得我想传达的所有信息,但恐怕我需要 3 个。
我的前几个查询提出了一个RACE,每场比赛有 2 名候选人,但是当我运行查询时,它会显示每个候选人的记录(乘以 2)。所以我有两行标题为RACE NUMBER 101。每行都有两个候选人,他们的选票(由他们的唯一候选人#相关,并且在另一个表中),选区报告,投票百分比..等等。
我想在一排中进行一场比赛。一行将显示比赛名称、两位候选人、他们的选票、他们的选票百分比和选区报告。
我写的查询是:
SELECT *
FROM dbo.[RACE]
INNER JOIN dbo.[RACE CANDIDATES] ON [RACE].[race number] = [RACE CANDIDATES].[race number]
这为我提供了我能够查询的所有字段的完整概览,但它们显示了来自同一个 RACE# 的 2 行。此外,它还显示了候选人的唯一编号以及他们的票数。但同样,这些都在 2 行中。我可以在查询的行中看到的唯一 2 个区别是候选人的唯一 ID 和他们的投票号码。
我想在一个单行中同时获取候选人的姓名、票数和选民百分比,因此我可以在一个块中将其设为 XML PATH。一场比赛,一个 XML 类别下的所有比赛元素。
这让我发疯了。很难提出这样的问题,尤其是在这样的主题上。我已将数据库保存为*.bak 文件,我现在可以在 3 台不同的机器上加载该文件,因此如果有人想查看,我可以使用它。里面没有机密数据,所以我提供它没有问题。
我有大约 30 小时 SOLID 参与其中。我看到了希望,但后来我又回到了起点。
通常,我只是将数据逐行串行发送到字符生成器,但我们的图形系统自上次初选以来发生了变化。
如果有人能告诉我什么是正确的问题,我将不胜感激。这当然是为了工作,这个数据馈送的全部重担都在我的肩上,我会在肢体骨折的情况下尽可能地伸出援手。
感谢您阅读本文。
【问题讨论】:
-
请提供数据样本、您得到的结果以及期望的结果。
-
根据示例查询的语法,我将其标记为 SQL Server。
-
我尝试在下面添加部分架构。每场比赛我得到 2 行。我相信每一行都是针对每个候选人的。因为唯一的区别是候选人的唯一性# 和他们的选票。我想要一个包含所有比赛信息的单行,包括每个候选人的姓名和他们的总票数。我能够产生的唯一查询导致同一种族的两行......但投票总数和候选人人数不同。两行显示两个候选人两次。 (每行有2组候选人姓名。)快把我逼疯了!哈。
-
哈!这一定是佛罗里达
标签: sql sql-server database duplicates normalizing