我有一个无法正常工作的问题。我有 3 张桌子;人员、人员程序和类别。
Person: ID, ....
PersonProgram: ID, PersonID, Category, Code ...
Category: ID, ...
Person 表每个人有 1 条记录,PersonProgram 每个人有多个程序。有 4 个类别,我需要将每个人与每个类别的特定程序拉成一行。
人员表:
1
2
3
人员程序表
1, 1, 1, 1
2, 1, 2, 1
3, 1, 1, 3
4, 2, 1, 1
5, 2, 3, 3
期望的结果应该是:
PersonID, ProgramIDforCat1, ProgramIDforCat2, ProgramIDforCat3, ProgramIDforCat4
1, 1, 2, NULL, NULL
2, 1, NULL, 3, NULL
问题是每个人和类别都有多个程序记录,代码为 1、2 或 3。我需要优先考虑代码 1,然后是代码 3,忽略其余部分,同时仍然只提取 1 条记录,或者如果它不存在。
我正在失去它试图让它发挥作用。
仅供参考,它必须在视图中。
谢谢你的帮助。