我正在尝试2nf一些数据:
Refid | Reason
------|---------
1 | Admission
1 | Advice and Support
1 | Behaviour
正如您所看到的,一个人可能有多种原因,因此我需要另一个表格具有以下格式:
Refid | Reason1 | Reason2 | Reason3 | ETC...
------|-----------|--------------------|-----------
1 | Admission | Advice and Support | Behaviour
但我不知道如何编写查询来提取数据并将其写入这样的新表中。原因没有其他标准的日期,这些标准会使任何特殊顺序成为任何理由。所有原因都在转介时分配。
感谢您的帮助.. SQL Server 2012
答案 0 :(得分:1)
您正在建模多对多关系
你需要3张桌子
- One for Reasons (say ReasonID and Reason)
- One for each entity identified by RefID (say RefID and ReferenceOtherData)
- An junction (or intersection) table with the keys (RefID, ReasonID)
这样,
您将重复的列转换为行。