使用MS SQL Server。我必须使用两个具有一对多关系的实体的列构建一个视图。主要实体是绩效报告。该表应该每行有一个性能报告。
相关实体是效果报告日志。每条记录包括一个问题和无限数量的输入。选择此结构是为了能够将某些问题与某些输入联系起来,而不是仅仅列出所有问题以及绩效报告实体本身的所有输入。每个绩效报告日志都通过查找链接到绩效报告。
我希望视图包含主要性能报告实体中的列,然后是所有相关性能报告日志中的列。因此,如果性能报告有三个日志,则所有三个日志中的列应包含在同一行中,而不是三行中。它们也应该在单独的列中,而不是像group_concat中那样合并为一个。
谢谢!
答案 0 :(得分:1)
真的是#34;无限数量的输入"?如果这是夸大其词而您可能只有10-20个输入,则可以对要显示的每个输入列使用SELECT语句。即,
select performance.field1, performance.field2,
(select field from inputs where problem='x' and inputs.id=performance.pk) as X,
(select field from inputs where problem='y' and inputs.id=performance.pk) as Y,
etc...
from Performance